commons-fileupload

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@page import="java.io.*,java.util.*"%>
<%@page import="org.apache.commons.fileupload.*"%>
<%@page import="org.apache.commons.fileupload.disk.*"%>
<%@page import="org.apache.commons.fileupload.servlet.*"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上传文件处理页面</title>
</head>
<body>
	<%
		DiskFileItemFactory factory = new DiskFileItemFactory();
		factory.setSizeThreshold(1024 * 1024);
		factory.setRepository(new File("E:\\"));
		ServletFileUpload upload = new ServletFileUpload(factory);
		List<FileItem> items = upload.parseRequest(request);
		out.println(items.size());
		for (Iterator<FileItem> it = items.iterator(); it.hasNext();) {
			FileItem item = it.next();
			//out.println(item.getName());
			if (item.isFormField()) {
				String name = item.getFieldName();
				String value = item.getString("UTF-8");
				out.println("表单域的name=value对:" + name + " = " + value);
			} else {

				String fieldName = item.getFieldName();
				String filename = item.getName(); // 得到文件名
				String contextType = item.getContentType();// 表单提交 方式 
				out.println(String.format(
						"fieldName=%s,filename=%s,contenttype=%s",
						fieldName, filename, contextType));
				BufferedOutputStream os = new BufferedOutputStream(
						new FileOutputStream("E:\\"
								+ System.currentTimeMillis() + ".txt"));
				if (item.isInMemory()) {
					os.write(item.get());
				} else {
					BufferedInputStream in = new BufferedInputStream(
							item.getInputStream());
					byte[] buffer = new byte[1024];
					int length = 0;
					while ((length = in.read(buffer)) != 0) {
						os.write(buffer, 0, length);
					}
					in.close();
				}
				os.close();
				
			}
		}
	%>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值