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实现文件下载相关推荐

  1. Java隐含对象实验报告,JSP隐含对象response实现文件下载

    一.简单介绍JSP隐含对象response实现文件下载 (1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源,用户单击超链接后直接下载资源,但直接暴露资源的URL也会带来一些负面的影响,例 ...

  2. HTTP Servlet Response完成文件下载、一次性验证码的实现

    HTTP Servlet Response运行过程 通过Response设置响应行 package cn.aynortechnology.line;import java.io.IOException ...

  3. java 防止文件下载_Spring,Java:流式文件下载以避免内存不足错误

    我正在开发一个Spring MVC应用程序,用户可以在其中下载文件.用户可以点击触发下载机制的附件.Spring,Java:流式文件下载以避免内存不足错误 昨天,当该多个下载和两个具有约2 GB的文件 ...

  4. java文件客户端下载_使用Java写一个minio的客户端上传下载文件

    标签:color   ati   tty   java   system   wired   format   media   param 前言: 确保已经安装了minio的服务端 代码: pom.x ...

  5. JAVA中的通用文件下载接口

    本文记录下JAVA中的通用文件下载接口,每次都上网找,挺麻烦的. 文章目录 概述 概述 /*** 通用下载请求** @param filePathName 文件路径*/@GetMapping(&quo ...

  6. java编写爬虫_手把手教你从零开始用Java写爬虫

    本文将手把手地教大家从零开始用Java写一个简单地爬虫! 目标 爬取全景网图片,并下载到本地 收获 通过本文,你将复习到:IDEA创建工程 IDEA导入jar包 爬虫的基本原理 Jsoup的基本使用 ...

  7. 用java写敏感词过滤器的代码

    用java写敏感词过滤器的代码 这里采用动态代理,所以要创建proxy代理对象,利用代理,来增强某些方法(getParameter方法.getParameterMap方法.getParameterVa ...

  8. Java后台Controller实现文件下载操作

    代码 参数: 1.filePath:文件的绝对路径(d:\download\a.xlsx) 2.fileName(a.xlsx) 3.编码格式(GBK) 4.response.request不介绍了, ...

  9. java后台实现excel文件下载功能

    java后台实现excel文件下载功能  java中对于excel文件的操作,有读取,写入,上传等功能,在对excel文件进行操作时,为了让使用者更加直观的制作excel数据,必然会有下载模板exce ...

最新文章

  1. java 线程关闭小结(转)
  2. Kaggle机器学习入门实战 -- Titanic乘客生还预测
  3. OpenGL油画效果
  4. Python学习之路--装饰器
  5. ESP8285 sdkconfig
  6. android源码学习-Handler机制及其六个核心点
  7. Cors跨域(三):Access-Control-Allow-Origin多域名?
  8. 传统蓝牙BR/EDR的搜索Inquiry
  9. 贪吃蛇_C语言_VS2019
  10. 微信小程序实现带参数的分享功能
  11. 在 Github 制作在线简历 PDF
  12. 《生物信息学:导论与方法》--本体论、分子通路鉴定--听课笔记(十八)
  13. spyder 5.0.0 提示依赖项spyder-kernels版本错误
  14. 大盘为何回血以及盐湖股份和科达制造
  15. mysql 别名_MySQL 字段别名(列别名)
  16. tinymce富文本框踩坑
  17. 知识点六:jQuery遍历-同胞Siblings(), next(), nextAll()
  18. Android 原生控件之三 ProgressBar
  19. www与m站间的转换
  20. FD650B数码管驱动

热门文章

  1. 情境领导者-第一章、人员管理
  2. web项目中上传的图片项目重新部署之后被清空如何解决?
  3. [非技术]-电话面试感想
  4. 计算机组成原理swbus,计算机组成原理实验 2.1 总线与寄存器 赖晓铮.ppt
  5. 川崎机器人总线通信_川崎机器人Profinet从站设定
  6. nginx配置访问本地静态资源
  7. 如果给video标签动态写入视频?
  8. 假如生活欺骗了你……
  9. 【BDTC 2016】大数据云服务论坛:云上的大数据探索
  10. 数禾科技:科技加持,让普惠“信用”服务触手可及