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编程语言中,FTP(File Transfer Protocol)文件上传和下载是常见的网络操作,用于在本地计算机和远程服务器之间交换文件。以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。...
在Java编程领域,文件上传和下载是Web应用中常见的功能,尤其在用户交互丰富的网站或系统中。本项目通过一个简单的源码实例,演示了如何实现在JSP(JavaServer Pages)界面上处理文本和图片的上传与下载,涵盖了相关...
java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件...
在这个场景下,"文件上传下载需要的jar包"指的是用于处理文件上传和下载操作的Java类库。下面将详细介绍相关的知识点。 1. **Apache Commons FileUpload**: 这是一个非常流行的Java库,用于处理HTTP请求中的多部分...
在Java编程语言中,文件上传和下载是网络应用中常见的功能,特别是在Web应用程序中。这里,我们将深入探讨如何实现这两个核心操作,以及相关的技术、工具和最佳实践。 首先,文件上传通常涉及到用户通过Web表单将...
JAVA SFTP文件上传、下载及批量下载实例 在本篇文章中,我们将详细介绍JAVA SFTP文件上传、下载及批量下载的实例,包括相关的概念、API介绍、代码实现等方面的内容。 首先,我们需要了解什么是SFTP?SFTP(Secure ...
后端服务器(如Java Servlet或Spring MVC Controller)接收到请求后,可以使用前面提到的Java文件操作API处理上传的文件,并将其保存到服务器的指定位置。 对于文件下载,HTML中可以创建一个链接,指向服务器上的...
在Java开发中,实现高性能的文件上传和下载是至关重要的技术环节,特别是在处理大量用户交互或者大数据量传输的场景下。本资料集主要探讨如何利用Java技术和相关工具库来优化这一过程,确保系统的稳定性和效率。 ...
以下是关于"Java文件上传下载实例(含详细注释)"的详细知识点解析: 1. **Servlet与JSP**: - Java文件上传通常涉及到Servlet技术,Servlet是Java为HTTP协议提供的一种服务端接口,用于处理客户端(浏览器)的请求...
Java文件上传和下载是通过Servlet API实现的,涉及HTTP请求的处理、文件I/O操作以及HTTP响应头的设置。在实际项目中,还需要考虑安全性(如防止文件覆盖、非法文件类型上传等)和性能优化(如使用多线程、缓存等)。...
在Java Web开发中,文件上传、下载和查看是常见的功能需求,尤其在构建交互性强的Web应用程序时。这里我们将深入探讨这些操作的核心概念和技术。 **文件上传** 文件上传主要是指用户通过Web表单将本地文件传输到...
总结来说,Java文件上传下载的完整案例涵盖了Servlet API的使用、文件I/O操作以及HTTP响应头的设置。通过学习和实践这个示例,开发者可以掌握基本的文件上传下载功能的实现,为构建更复杂的应用打下坚实的基础。
Java文件上传下载是Web开发中的常见功能,涉及到客户端与服务器之间的数据传输。根据提供的文件内容,我们可以了解到具体的实现技术点以及使用的工具类。 文件上传: 1. SmartUpload类:SmartUpload是用于文件上传...
【Java Swing 文件上传和下载聊天室】是一个使用Java Swing库构建的本地客户端-服务器应用程序,它允许用户进行实时聊天并交换文件。这个项目的核心技术包括Java的网络编程、图形用户界面设计以及文件处理。 首先,...
java文件上传下载工具,支持上传下载,目录创建,文件复制,文件删除
java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java ...
以下是对"java文件上传下载工具类"这一主题的详细解释。 首先,让我们了解文件上传。在Web应用中,用户可能需要上传文件,如图片、文档或视频。Java通过Servlet API提供了处理文件上传的功能。Servlet 3.0及以上...
JAVA通过HttpURLConnection上传和下载文件的方法 JAVA通过HttpURLConnection上传和下载文件的方法是非常有实用价值的,需要的朋友可以参考下。HttpURLConnection是一个Java类,用于从网络中读取数据或向网络中写入...
在Java Web开发中,文件上传和下载是常见的功能需求,特别是在Spring MVC框架下。本教程将详细介绍如何利用`commons-fileupload`组件与Spring MVC结合实现文件上传,以及如何通过Servlet和`response`输出流实现文件...