0 0

enctype="multipart/form-data"怎么得到请求的值5

如题,我需要在j sp页面处理有上传文件的表单,普通元素和文件都在一个表单里,有人说用MultipartRequestUpload处理,谁能帮我详细解释下啊,需要用到哪些类包,倒入哪个类,或者有什么其他的方式解决。
在线苦等,谢谢!
2012年8月23日 08:48

2个答案 按时间排序 按投票排序

0 0

采纳的答案

可以 考虑 用  O'Reilly 公司的 COS ,很方便 获取 你需要的值 ,在 oschina上, 红薯 公布了 代码,可以参考
http://www.oschina.net/code/snippet_12_1344

2012年8月24日 16:58
0 0

Apache Commons FileUpload

可以从网上搜下 很多例子

接收上传文件的jsp或者servlet如下:

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.util.Iterator"%>
<%@ page import="java.util.List"%>
<%@ page import="org.apache.commons.fileupload.FileItem"%>
<%@ page import="org.apache.commons.fileupload.FileUpload"%>
<%@ page import="org.apache.commons.fileupload.FileUploadException"%>
<%@ page import="org.apache.commons.fileupload.RequestContext"%>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page import="org.apache.commons.fileupload.servlet.ServletRequestContext"%>
<%
String s = “d:/temp/”;//上传得文件存放的位置
String fileName = "";
String fileDesc = "";

RequestContext requestContext = new ServletRequestContext(request);
if (FileUpload.isMultipartContent(requestContext)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(s));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(-1);

List items = new ArrayList();
try {
	items = upload.parseRequest(request);
} catch (Exception e1) {
	System.out.println("文件上传发生错误" + e1.getMessage());
}
Iterator it = items.iterator();

while (it.hasNext()) {
FileItem fileItem = (FileItem) it.next();
if (fileItem.isFormField()) {
} else {
	if (fileItem.getName() != null && fileItem.getSize() != 0) {
//应该检查文件的类型,以保证系统的安全性,比如不能是:js,jsp,exe,bat等可执行的
File fullFile = new File(fileItem.getName());
File newFile = new File(s + fullFile.getName());
fileName = fullFile.getName();
try {
	fileItem.write(newFile);
} catch (Exception e) {e.printStackTrace();}
} else {
	System.out.println("文件没有选择 或 文件内容为空");
}
}
}
}%>

2012年8月23日 09:02

相关推荐

Global site tag (gtag.js) - Google Analytics