O'Reilly cos上传组件的使用(2/3) - 获取文件信息
upload.html:
<form method="post" action="cos.jsp"
enctype="multipart/form-data">
文件1:<input type="file" name="file1" />
说明:<input type="text" name="file1_desc" />
<br />
文件2:<input type="file" name="file2" />
说明:<input type="text" name="file2_desc" />
<input type="submit" value="上传" />
</form>
cos.jsp:
<%@page contentType="text/html;charset=GBK"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page import="java.io.File,javax.servlet.ServletContext"%>
<%@page import="java.util.Enumeration,java.io.IOException"%>
O'Reilly cos上传组件的使用(2/3) - 获取文件信息<br />
<%
/*设置上传文件路径*/
ServletContext context = getServletContext();
String realPath = context.getRealPath("/");
String saveDir = realPath + "ch9\\fileupload\\upload\\";
//out.println(saveDir + "<br />");//输出实际路径
File dir = new File(saveDir);
if(!dir.exists())
dir.mkdirs();
int maxPostSize = 1*1024*1024;//1MB
String encoding = "GBK";
MultipartRequest multi = null;
try{
multi = new MultipartRequest(request ,
saveDir , maxPostSize , encoding);
}catch(IOException e){
//上传大小超过maxPostSize就会出现IOException
out.println(e.getMessage());
return;
}
//至此文件已经上传完成!
//以下为获取上传文件的信息,并不是必需的。
%>
<%
//获取文件信息
Enumeration fileNames = multi.getFileNames();
while(fileNames.hasMoreElements()){
//指表单中的name值
String name = (String)fileNames.nextElement();
String sysname = multi.getFilesystemName(name);
String type = multi.getContentType(name);
out.println("Request Name:" + name +"<br />");
out.println("getFilesystemName:" +
saveDir + sysname +"<br />");
out.println("ContentType:" + type +"<br /><br />");
}
out.println("==========<br />");
%>
<%
//获取文件描述
Enumeration params = multi.getParameterNames();
while(params.hasMoreElements()){
String param = (String)params.nextElement();
String value = multi.getParameter(param);
out.println("Param Name:" + param +"<br />");
out.println("Param Value:" + value +"<br /><br />");
}
out.println("==========<br />");
%>
<%
//将前面两个组合起来:获取文件及文件描述
//<input type="file" name="file1" />
//<input type="text" name="file1_desc" />
String descExt = "_desc";
Enumeration files = multi.getFileNames();
while(files.hasMoreElements()){
String name = (String)files.nextElement();
String sysname = multi.getFilesystemName(name);
String type = multi.getContentType(name);
String desc = multi.getParameter(name + descExt);
out.println("Request Name:" + name +"<br />");
out.println("getFilesystemName:" +
saveDir + sysname +"<br />");
out.println("ContentType:" + type +"<br />");
out.println("Description:" + desc + "<br /><br />");
}
%>
分享到:
相关推荐
通过对Oreilly上传组件源码的深入研究,开发者可以学习到文件上传的完整流程,以及如何在实际项目中实现高效、安全、用户体验良好的文件上传功能。这将有助于提升开发者在Web开发领域的专业技能,为构建更复杂的Web...
本文详细介绍了如何使用Cos组件实现文件的上传和下载功能。通过合理的表单配置、文件处理逻辑以及定制化的重命名策略,可以有效确保文件上传过程的安全性和稳定性。同时,对于文件下载,通过简单的链接创建和响应头...
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/
Cos(Common Object Services)组件是由O'Reilly公司开发的一个开源项目,专门用于处理文件上传操作。相比于其他商业组件或框架内置的功能,Cos的优势在于其开放源代码的特点,这使得开发者可以更自由地定制化上传...
上述程序中用到的jar 博文链接:https://avery-leo.iteye.com/blog/210695
标题“com.oreilly.servlet”指向的是一个与Java Servlet相关的组件或库,很可能是一个由O'Reilly Media公司提供的jar包。在Java Web开发中,Servlet是用于处理HTTP请求的核心技术,它扩展了Web服务器的功能,使得...
- COS上传组件:这是O’Reilly提供的一个文件上传组件,具有高性能的文件处理能力。它支持使用Servlet或Struts Action进行文件上传。 - SmartUpload组件:这是一个较早的文件上传组件,能够处理多部分的请求,并支持...
2. **更改上传框架**:如果需要更换其他的文件上传框架,可以通过修改`struts.multipart.parser`常量的值为`cos/pell`等来实现,并在lib目录下添加相应的上传组件类库。 3. **文件上传Action示例**:下面是一个简单...
Oreilly - Python Cookbook,python编程人员必备学习手册
Oreilly - Python Cookbook, 2nd Edition.chm
从提供的压缩文件列表来看,"下载说明.HTM"可能是书籍的下载和使用指南,"readme.txt"可能包含关于文件的简短说明,而"Java.Swing.OReilly"可能是书籍的电子版,可能是一个PDF文件或者其他的电子书格式。通过阅读这...
- **COS (Commons Open Source)**: O'Reilly公司的开源框架,也可以用于文件上传。 **1.4 Struts2与文件上传** - **原理**: Struts2自身不直接处理`multipart/form-data`请求,而是调用第三方组件(如Commons-...
文件内容:(不需要下载了) Example code for "Hadoop: The Definitive Guide, Third Edition" by Tom White. Copyright (C) 2011 Tom White, 978-1-449-31152-0 http://www.hadoopbook.com/ ...
O'Reilly Media: Python Cookbook(2 edition) 经典不必多说 http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&s=books&qid=1282820211&asin=B003LPO4KS&sr=8-1 ...
在Web开发中,上传文件是一项常见的功能,但处理文件上传时可能会遇到各种问题,如文件大小限制、文件类型检查、错误处理等。Oreilly MultiPartRequest 是一个用于Java Web应用的工具,它简化了HTTP多部分请求的处理...
在Java领域内,有多个成熟且广泛应用的文件上传工具,其中最知名的两个是Apache的Commons FileUpload组件和Oreilly的COS框架。 - **Apache Commons FileUpload**:这是一个高度可配置、易于使用的文件上传解决方案...