sevlet上传文件代码

public class FileUpLoadServlet extends HttpServlet {

	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// dfif对象为解析器提供解析时的缺省的一些配置
		DiskFileItemFactory dfif = new DiskFileItemFactory();
		// 创建解析器
		ServletFileUpload sfu = new ServletFileUpload(dfif);
		// 开始解析(分析InputStream)
		// 每一个表单域当中的数据都会
		// 封装到一个对应的FileItem对象上。
		try {
			List<FileItem> items = sfu.parseRequest(request);
			for (int i = 0; i < items.size(); i++) {
				FileItem item = items.get(i);
				// 要区分是上传文件域还是普通的表单域
				if (item.isFormField()) {
					// 普通表单域
					String name = item.getString();
					System.out.println("name:" + name);
				} else {
					// 上传文件域

					// ServletContext:servlet上下文对象。
					ServletContext sctx = getServletContext();
					// 依据逻辑路径返回实际部署时的物理路径
					String path = sctx.getRealPath("upload");
					// 获得原始的文件名
					String filename = item.getName();
					// 将FileItem对象中的数据写到指定的文件。
					File file = new File(path + "\\" + filename);
					item.write(file);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值