上传篇代码片段:
import com.oreilly.servlet.MultipartRequest;
import java.util.Enumeration;
MultipartRequest multi = null;
ServletConfig config = super.getServletConfig();
int maxPostSize = 200 * 1024 * 1024;
multi = new MultipartRequest(request, filePath, maxPostSize, "utf-8");
fileName = multi.getParameter("fileName");
id = multi.getParameter("id");
Enumeration upLoadFiles = multi.getFileNames();
......
while (upLoadFiles.hasMoreElements()) {
String fName = (String) upLoadFiles.nextElement();
oldName = multi.getFilesystemName(fName);
}
....
String exg = oldName.substring(oldName.lastIndexOf("."));
// System.out.println("--------" + exg);
String fileSep = System.getProperty("file.separator");
File oldfile = new File(filePath + fileSep + oldName)
下载篇:
if (null != action && action.equals("downFile")) {
String filename = request.getParameter("fileName");
// SmartUpload su = new SmartUpload();
// su.initialize(config, request, response);
// su.setContentDisposition(null);
String downPath = FileUtil.getFileLocation(config, "");
// // 下载文件
// try {
// su.downloadFile(downPath);
// } catch (SmartUploadException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
String encoding = System.getProperty("file.encoding");
System.out.println("--------文件编码格式:-----------------" + encoding);
String guessCharset = "utf-8";
System.out.println();
try { // 使用iso8559_1编码方式
String isofilename = new String(
filename.getBytes(guessCharset), "iso-8859-1");
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition",
"attachment; filename=" + isofilename);
ServletOutputStream out = null;
out = response.getOutputStream();
ServletUtils.returnFile(downPath + filename, out);// 下载文件
} catch (UnsupportedEncodingException ex) {// iso8559_1编码异常
ex.printStackTrace();
} catch (IOException e) {// getOutputStream()异常。
e.printStackTrace();
}
}
分享到:
相关推荐
通过对Oreilly上传组件源码的深入研究,开发者可以学习到文件上传的完整流程,以及如何在实际项目中实现高效、安全、用户体验良好的文件上传功能。这将有助于提升开发者在Web开发领域的专业技能,为构建更复杂的Web...
标题“com.oreilly.servlet”指向的是一个与Java Servlet相关的组件或库,很可能是一个由O'Reilly Media公司提供的jar包。在Java Web开发中,Servlet是用于处理HTTP请求的核心技术,它扩展了Web服务器的功能,使得...
总之,Oreilly MultiPartRequest为Java Web开发者提供了一种方便的方式来处理文件上传,减少了处理多部分请求的复杂性。通过上述步骤,你可以有效地解决文件上传过程中遇到的问题,确保应用程序的稳定性和安全性。在...
Oreilly - Python Cookbook,python编程人员必备学习手册
从提供的压缩文件列表来看,"下载说明.HTM"可能是书籍的下载和使用指南,"readme.txt"可能包含关于文件的简短说明,而"Java.Swing.OReilly"可能是书籍的电子版,可能是一个PDF文件或者其他的电子书格式。通过阅读这...
Oreilly - Python Cookbook, 2nd Edition.chm
OReilly.Deep.Learning.2017
Oreilly出版的《HTML and XHTML: The Definitive Guide》是这个领域的权威指南,已经更新到第五版,为读者提供了深入理解HTML和XHTML的全面知识。 HTML是一种标记语言,它的主要作用是定义网页结构,通过不同的标签...
《OReilly C++ Cookbook》是由Jeff Cogswell、Christopher Diggins、Ryan Stephens和Jonathan Turkanis共同编写的,是一本针对C++编程语言的实用指南。这本书以"烹饪书"的形式,提供了大量解决实际编程问题的代码...
This is the source code referenced in the O'Reilly Online Course: Developing Android Applications with Java. More information can be found here: http://training.oreilly.com/androidapps-java/
Oreilly Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython Oct 20, 2017 最终版,完整版,清晰版,原版
学习opencv的一本经典英文教材,内容清晰,需要者自行下载,主要章节有: 1. Overview 2. Introduction to OpenCV 3. Getting to Know OpenCV 4、HighGUI 5. Image Processing 6. Image Transforms 7. Histograms ...
《Java Performance Tuning》是一本由O'Reilly出版社出版的专业书籍,主要聚焦于Java应用程序的性能优化技术。本书详细介绍了如何诊断和解决Java应用程序中的性能瓶颈,并提供了一系列实用的工具和技术,帮助开发者...
《OReilly Hands On Machine Learning with Scikit Learn and TensorFlow》是一本深度探讨机器学习实践的书籍,涵盖了使用Python中的Scikit-Learn和TensorFlow库进行数据挖掘和模型构建的广泛主题。这本书旨在帮助...
本书由O'Reilly Media出版,并且在2014年进行了第三次修订。接下来,我们将从书名、描述及部分目录内容中提取出相关的PHP知识点。 ### 书名:《PHP Cookbook》 **知识点:** 1. **PHP语言简介**:PHP是一种广泛...