文件上传

2.5动态web项目,文件上传

1、前台页面
表单实现文件上传:
1)、表单的提交类型为method=“POST”
2)、表单类型设置为enctype=“multipart/form-data”
3)、表单元素设置name属性值

2、后台代码
首先需要导入第三方jar包: http://commons.apache.org/
下 载commons-io 和 commons-fileupload 两个 jar 的资源。解压并导入到项目中。
commons-fileupload.jar 是文件上传的核心包
commons-io.jar 是 filefupload 的依赖包,同时又是一个工具包。

实现步骤:
DiskFileItemFactory – 设置磁盘空间,保存临时文件。只是一个工具类
ServletFileUpload – 文件上传的核心类,此类接收request,并解析
ServletFileUpload.parseRequest(request); – List解析 request
1、创建一个DiskFileItemFactory工厂类,并定制临时文件和大小
2、创建ServletFileUpload核心类,接收临时文件,做请求的转换
3、通过ServletFileUpload类转换原始请求,的到FileItem集合
4、遍历集合中的各个元素处理
5、判断每个元素是否是普通表单项,如果是则按照普通表单项处理
6、如果不是普通表单项,则是文件,通过处理的方式进行处理(上传)

3.0动态web项目,文件上传

使用注解@MultipartConfig将一个Servlet标识为支持文件上传。
Servlet3.0将multipart/form-data的POST请求封装成Part,通过Part对上传的文件进行操作。
1、普通表单项取值
request.getParameter(name)
2、文件域
request.getPart(name)
注:如果前台表单是文件上传表单,一定要加上注解@MultipartConfig

		// 接收参数
		String uname = request.getParameter("uname");
		System.out.println(uname);
		
		// ============文件上传==========
		// 得到part对象	getPart(name):name表示的是表单元素(文件域)的name属性值
		Part part = request.getPart("myfile");
		// 得到上传文件的名称
		String fileName = part.getSubmittedFileName();
		// 得到文件想要存放的路径
		String path = request.getServletContext().getRealPath("/");
		// 上传文件
		part.write(path + fileName);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值