1 添加apache commons-io包
protected void download(String fileName, String fileExtension, InputStream stream) throws Exception {
HttpServletRequest request = getRequest();
HttpServletResponse response = getResponse();
byte[] fileBytes = IOUtils.toByteArray(stream);
String userAgent = request.getHeader("USER-AGENT");
userAgent = userAgent == null ? "" : userAgent.toUpperCase();
response.setContentType("application/x-download");
// 根据不同浏览器进行文件名编码
if (userAgent.indexOf("MSIE") != -1) {
fileName = URLEncoder.encode(fileName, "UTF-8");
}else if(userAgent.indexOf("MOZILLA") != -1){
fileName = "=?UTF-8?B?" + new BASE64Encoder().encode((fileName.getBytes("UTF-8"))) + "?=";
}
response.addHeader("Content-Disposition", "attachment;filename=" + fileName + "." + fileExtension);
response.addHeader("Content-Length", String.valueOf(fileBytes.length));
response.addHeader("Content-Transfer-Encoding", "binary");
response.setContentType("application/octet-stream");
response.getOutputStream().write(fileBytes);
}
分享到:
相关推荐
在iOS开发中,iPhone文件下载模块是至关重要的一个部分,特别是在构建移动应用时,用户可能需要从...通过学习和理解这个代码例子,开发者可以更好地理解和实现自己的文件下载模块,提升iOS应用的功能性与用户体验。
文件下载程序代码是一种用于在客户端和服务器之间进行文件传输的应用,尤其在互联网环境中广泛应用。本程序基于VC2010开发,使用了TCP(Transmission Control Protocol)作为传输协议,确保了数据的可靠传输。TCP是...
- **权限控制**:在提供文件下载服务时,需要考虑访问权限,确保只有拥有权限的用户才能下载特定文件。 3. **相关技术** - **Commons-FileUpload库**:Apache Commons FileUpload库简化了文件上传的处理,它提供...
本源代码实现了B/S(浏览器/服务器)架构下的文件下载功能,适应于ASP.NET开发环境,能够支持多种文件格式,并且可以直接运行。 在ASP.NET中,文件下载通常涉及到以下几个关键知识点: 1. **HTTP协议**:文件下载...
3. **断点续传**:虽然这个示例可能不涉及,但高级的文件下载功能可能包含断点续传,允许用户在中断后继续下载。 4. **安全性考虑**:下载文件时应确保只提供授权用户访问,避免直接暴露敏感路径。 在MyEclipse...
4. 文件下载 下载文件则使用`Get`方法。以下代码展示了如何从FTP服务器下载文件到本地: ```vb oFtp.Document.all("Download").Value = remoteFilePath ' 设置远程文件路径 oFtp.Document.parentWindow.execScript ...
4. Java文件下载实现: 在Java中,我们可以使用`HttpServletResponse`来设置响应头并写入文件内容。以下是一个简单的示例: ```java response.setContentType("application/octet-stream"); response.setHeader(...
标签“Internet”表明这是与互联网相关的技术,“文件下载”指明了主要功能,“程序”和“源代码”则强调这是一个可以查看和修改的软件工程,对于学习和开发相关应用的开发者来说,这是一个宝贵的资源。 从压缩包子...
客户端这边,开发者可能需要创建一个隐藏的iframe或者使用JavaScript来触发文件下载,避免新开窗口或者刷新当前页面。 在实际开发中,我们还需要考虑以下几点: 1. **安全性**:确保只有授权用户才能访问特定文件...
1. **流文件下载** 在ASP中,流文件下载通常通过ADODB.Stream对象实现。首先,我们需要打开一个流对象,然后将ASP文件的内容写入该流中。接着设置Content-Disposition头信息,以告知浏览器这是一个附件并建议...
为了实现这一目标,我们设计了一个通用的下载类——`SRWebClient`,它能够处理登录后的网页源代码下载和文件下载任务。 #### 二、关键代码解析 ##### 1. 类定义及初始化 ```csharp using System; using System.IO...
在jsp页面中,你需要引入uploadify的相关CSS和JS文件,并创建一个input元素作为文件选择的入口。然后,通过JavaScript配置uploadify,设定上传的URL(即servlet的路径),设置文件类型、大小限制等参数。例如: ```...
标题中的“pb实现http文件下载功能--源代码 可以直接使用”指的是使用PowerBuilder(简称PB)编程语言实现HTTP协议进行文件下载的功能,并且提供了可以直接使用的源代码。这个功能在软件开发中常用于实现自动更新...
本文将深入探讨“文件加密保护源代码下载”这个主题,介绍相关的知识点。 首先,我们需要理解文件加密的基本原理。文件加密是通过特定的算法(如AES、RSA等)将明文数据转化为密文,使得未经授权的用户无法读取或...
根据提供的文件标题、描述以及部分内容,我们可以总结出以下与文件下载相关的JSP代码知识点: ### 关于文件下载的JSP代码实现 #### 概述 本文档提供了关于文件下载功能的JSP源代码示例。该示例代码较为经典,尽管...
综上所述,"FFDownloadManager"可能是一个包含了上述逻辑的自定义下载管理器,它封装了URLSession的相关操作,简化了文件下载的流程,并提供了进度回调和错误处理功能。如果你在项目中使用这样的工具类,可以提高...
2. **文件下载** 文件下载则涉及到HTTP响应头的设置,比如`Content-Disposition`用于指示浏览器以附件形式下载文件,`Content-Type`指定文件的MIME类型。在Struts Action中,我们可以获取文件的路径,然后通过`...
如果项目采用前后端分离架构,可以设计符合RESTful原则的API接口,如`POST /api/upload`用于文件上传,`GET /api/download/{filename}`用于文件下载,这样可以方便地与其他客户端(如移动App)集成。 9. **测试**...
- Android的API版本差异可能导致某些加密相关的API在旧版本设备上不可用,源代码可能使用了`Build.VERSION.SDK_INT`来检查API级别,并做出相应的适配。 通过分析`fileEncryption`源代码,开发者可以学习到如何在...
标题“代码展示原始文件和代码”表明这是一个与编程相关的压缩包,其中可能包含了用于演示或教学的源代码文件。描述提到“包含了该代码所需的源数据和运行结果”,这暗示我们这个压缩包中不仅有源代码,还有代码所...