java写response实现文件下载
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;public abstract class FileService {/*** filename 下载到客户端后的文件名称* file 待下载的文件* 下载 文件*/public void downloadFileToClient(String filename, File file, HttpServletResponse response) {FileInputStream inStream = null;try {inStream = new FileInputStream(file);byte[] buf = new byte[4096];int readLength;setResponseHeader(response, filename);while (((readLength = inStream.read(buf)) != -1)) {response.getOutputStream().write(buf, 0, readLength);}}catch (Exception e){}finally {try {inStream.close();} catch (Exception e) {}}}/*** 设置响应头* @param response* @param fileName 文件名称*/protected void setResponseHeader(HttpServletResponse response, String fileName) {String suffix = fileName.substring(fileName.lastIndexOf("."), fileName.length());String prefix = fileName.substring(0, fileName.lastIndexOf("."));try {response.reset();response.setContentType("application/octet-stream;charset=UTF-8");response.setHeader("Content-Disposition", "attachment;filename="+ new String(prefix.getBytes("GB2312"), "8859_1")+ suffix);response.addHeader("Pargam", "no-cache");response.addHeader("Cache-Control", "no-cache");} catch (Exception ex) {ex.printStackTrace();}}protected void downloadNetFile(String source, String dest) {// 下载网络文件
// int bytesum = 0;int byteread = 0;InputStream inStream = null;FileOutputStream fs = null;try {URL url = new URL(source);URLConnection conn = url.openConnection();inStream = conn.getInputStream();fs = new FileOutputStream(dest);byte[] buffer = new byte[inStream.available()];
// int length;while ((byteread = inStream.read(buffer)) != -1) {
// bytesum += byteread;fs.write(buffer, 0, byteread);}} catch (Exception e) {} finally {if (null != inStream) {try {inStream.close();} catch (IOException e) {e.printStackTrace();}}if (null != fs) {try {fs.close();} catch (IOException e) {e.printStackTrace();}}}}
}
java写response实现文件下载相关推荐
- Java隐含对象实验报告,JSP隐含对象response实现文件下载
一.简单介绍JSP隐含对象response实现文件下载 (1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源,用户单击超链接后直接下载资源,但直接暴露资源的URL也会带来一些负面的影响,例 ...
- HTTP Servlet Response完成文件下载、一次性验证码的实现
HTTP Servlet Response运行过程 通过Response设置响应行 package cn.aynortechnology.line;import java.io.IOException ...
- java 防止文件下载_Spring,Java:流式文件下载以避免内存不足错误
我正在开发一个Spring MVC应用程序,用户可以在其中下载文件.用户可以点击触发下载机制的附件.Spring,Java:流式文件下载以避免内存不足错误 昨天,当该多个下载和两个具有约2 GB的文件 ...
- java文件客户端下载_使用Java写一个minio的客户端上传下载文件
标签:color ati tty java system wired format media param 前言: 确保已经安装了minio的服务端 代码: pom.x ...
- JAVA中的通用文件下载接口
本文记录下JAVA中的通用文件下载接口,每次都上网找,挺麻烦的. 文章目录 概述 概述 /*** 通用下载请求** @param filePathName 文件路径*/@GetMapping(&quo ...
- java编写爬虫_手把手教你从零开始用Java写爬虫
本文将手把手地教大家从零开始用Java写一个简单地爬虫! 目标 爬取全景网图片,并下载到本地 收获 通过本文,你将复习到:IDEA创建工程 IDEA导入jar包 爬虫的基本原理 Jsoup的基本使用 ...
- 用java写敏感词过滤器的代码
用java写敏感词过滤器的代码 这里采用动态代理,所以要创建proxy代理对象,利用代理,来增强某些方法(getParameter方法.getParameterMap方法.getParameterVa ...
- Java后台Controller实现文件下载操作
代码 参数: 1.filePath:文件的绝对路径(d:\download\a.xlsx) 2.fileName(a.xlsx) 3.编码格式(GBK) 4.response.request不介绍了, ...
- java后台实现excel文件下载功能
java后台实现excel文件下载功能 java中对于excel文件的操作,有读取,写入,上传等功能,在对excel文件进行操作时,为了让使用者更加直观的制作excel数据,必然会有下载模板exce ...
最新文章
- java 线程关闭小结(转)
- Kaggle机器学习入门实战 -- Titanic乘客生还预测
- OpenGL油画效果
- Python学习之路--装饰器
- ESP8285 sdkconfig
- android源码学习-Handler机制及其六个核心点
- Cors跨域(三):Access-Control-Allow-Origin多域名?
- 传统蓝牙BR/EDR的搜索Inquiry
- 贪吃蛇_C语言_VS2019
- 微信小程序实现带参数的分享功能
- 在 Github 制作在线简历 PDF
- 《生物信息学:导论与方法》--本体论、分子通路鉴定--听课笔记(十八)
- spyder 5.0.0 提示依赖项spyder-kernels版本错误
- 大盘为何回血以及盐湖股份和科达制造
- mysql 别名_MySQL 字段别名(列别名)
- tinymce富文本框踩坑
- 知识点六:jQuery遍历-同胞Siblings(), next(), nextAll()
- Android 原生控件之三 ProgressBar
- www与m站间的转换
- FD650B数码管驱动