public String downFile()throws Exception{
System.out.println(fId+"========="+mailId);
MailAttach mailAttach = this.mailAttachManager.get(fId);
String filePath = ZbwtFileUploadUtil.getBigFileUpload()+mailAttach.getAttachFilePath(); //文件路径
File file = new File(filePath);
if (file.exists()) {
HttpServletResponse response = Struts2Utils.getResponse();
HttpServletRequest request = Struts2Utils.getRequest();
response.setHeader("Pragma", "No-Cache");
response.setHeader("Cache-Control", "No-Cache");
response.setDateHeader("Expires", 0);
response.setHeader("Accept-Ranges", "bytes");
response.setContentType("application/octet-stream");
OutputStream out = response.getOutputStream();
response.setHeader("Content-Type", "application/x-msdownload");
String agent = (String)request.getHeader("USER-AGENT");
if(agent != null && agent.indexOf("MSIE") == -1) { //用于中间有空格时 空格后名称无法出现
// FF
String enableFileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(mailAttach.getAttachSolidName().getBytes("UTF-8")))) + "?=";
response.setHeader("Content-Disposition", "attachment; filename=" + enableFileName); }
else {
// IE
String enableFileName = new String(mailAttach.getAttachSolidName().getBytes("GBK"), "ISO-8859-1"); response.setHeader("Content-Disposition", "attachment; filename=" + enableFileName);
response.setHeader("Content-Disposition", "attachment; filename=" + enableFileName);
}
FileInputStream input = new FileInputStream(file);
int line = 0;
byte[] bytes = new byte[2048];
while ((line = input.read(bytes)) != -1) {
out.write(bytes, 0, line);
}
input.close();
out.close();
}
return null;
}
分享到:
相关推荐
(1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 (2)单击“上传服务器”窗口中的“启动服务..”按钮。 (3)单击“上传...
java文件上传jjjava文件上传下载ava文件上传下载ava文件上传下载下载
使用jdk7及以后的文件操作,包含了常用类、常用方法的介绍和文件上传和下载的代码
经典的java文件上传下载实例。 通过阅读详细的注释,可以比较容易地理解java文件上传和下载的原理和一般的做法。
文件上传下载需要的jar包 java文件上传下载 源码 http://blog.csdn.net/da_zhuang/article/details/8737618
java文件上传下载工具,支持上传下载,目录创建,文件复制,文件删除
java web文件上传-下载-查看操作
主要介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,非常具有实用价值,需要的朋友可以参考下
经典的java文件上传下载实例。 通过阅读详细的注释,可以比较容易地理解java文件上传和下载的原理和一般的做法。
Java文件的上传和下载Java文件的上传和下载Java文件的上传和下载Java文件的上传和下载
本篇文章主要介绍了JAVA SFTP文件上传、下载及批量下载实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
在java代码中实现文件的上传和下载,通过页面的file文件上传到java代码段,获取文件的大小和名字
Java文件上传下载.pdf
java文件异步上传
java文件上传下载完整demo,很完整,只需要导入到你的工作环境中即可。
通过一个简单的源码,实现了文本和图片在jsp界面上的上传以及下载
java文件上传下载.pdf
纯java代码,演示上传文件,适合任何文件,主要是了解HTTP请求的信息,然后解析请求的字符串,此事例只考虑了现在的两种主要的浏览器的请求,因为浏览器不一样文件名会有差异,IE就只有文件名,而FF就是全路径名
java文件上传下载.docxjava文件上传下载.docx