不依赖框架的文件下载
来源:互联网 发布:JAVA classpath 和path 编辑:程序博客网 时间:2024/06/08 03:32
package com.utils;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.net.URLEncoder;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @ClassName: FileUtils.java * * @Description: 文件下载 * * @author GERRARD * * @date 2015年1月27日下午3:10:10 * */public final class FileUtils {/** * 文件下载 * * @param request * @param response * @param filePath * 文件相对路径(带文件名和后缀) * @throws IOException */public static void downloadFile(HttpServletRequest request, HttpServletResponse response, String filePath) throws IOException { // 下载文件所在路径 String basePath = request.getSession().getServletContext() .getRealPath("/"); String downloadPath = basePath + filePath; File fn = new File(downloadPath); // 设置下载文件名 String fileName = fn.getName(); // 读取下载文件流 InputStream inStream = new FileInputStream(downloadPath); // 设置输出的格式 response.reset(); response.setContentType("APPLICATION/OCTET-STREAM"); fileName = URLEncoder.encode(fileName, "utf-8");response.setHeader("Content-Disposition","attachment; filename=\"" + fileName + "\""); // 循环取出流中的数据 byte[] b = new byte[100]; int len; try { while ((len = inStream.read(b)) > 0) { response.getOutputStream().write(b, 0, len); } inStream.close(); response.getOutputStream().close(); } catch (IOException e) { e.printStackTrace(); inStream.close(); response.getOutputStream().close(); } }}
Action中调用
FileUtils.downloadFile(ServletActionContext.getRequest(),ServletActionContext.getResponse(), "/WEB-INF/model/template/"+ fileName);其中ServletActionContext.getRequest(),ServletActionContext.getResponse()是struts2中使用,不同框架不同。
0 0
- 不依赖框架的文件下载
- Java获取一段中文的首字母,不依赖其他框架
- 笔记:不依赖Office组件的Excel文件的读取
- Ext.form.Panel 上传文件,不依赖服务端的Json返回
- Opencv2.1+vs2008生成不依赖编译环境的exe文件
- Opencv2.1+vs2008生成不依赖编译环境的exe文件
- Opencv246+vs2012生成不依赖编译环境的exe文件
- 不依赖于Auto-Config文件的代理发现
- Opencv246+vs2012生成不依赖编译环境的exe文件
- 基于Spring框架的文件下载
- SSH框架之Struts的文件下载
- 基于springMvc框架下的文件下载
- SSM框架下的文件下载
- 不依赖数据库的断点续传
- ci框架下载文件
- ssh2框架文件下载
- 文件下载--Struts2框架
- yii 框架下载文件
- 老人不能被遗忘在移动互联之外!
- memcpy的用法总结
- 2015上海酒店用品展览会
- 多核系统上的 Java 并发缺陷模式(bug patterns)
- TLD之扯淡篇(一)
- 不依赖框架的文件下载
- 西门子PLC学习笔记二十-(多重背景数据块的使用)
- 参加工作后的第二个任务,增加网站的功能,用了JS,MVC,
- Ubuntu14.04编译Andorid源码
- android技能
- 使用NetworkInterface类获得网络接口信息
- SSD硬盘性能测试比较
- 第一个 Go 程序
- js confirm用法