web 文件上传

页面部分

<form action="webService/predictFileService" method="post"
	enctype="multipart/form-data">
	上传文件:
	<input type="file" name='fileName'/> 
	<input type="submit" value="提交网页文件" />
</form>
对应的请求为:

web 文件上传


后台部分

需要apache-fileupload工具,下面是maven依赖。

<dependency>
	<groupId>commons-fileupload</groupId>
	<artifactId>commons-fileupload</artifactId>
	<version>1.3.1</version>
</dependency>

示例代码

//使用apache-FileUpload工具处理上传文件请求
	void dealUploadFile( HttpServletRequest request) throws Exception{
		//开辟本地临时位置用来中转文件
		DiskFileItemFactory factory = new DiskFileItemFactory();
		//用来解析HttpServletRequest中的文件
		ServletFileUpload upload = new ServletFileUpload(factory);
		upload.setHeaderEncoding("utf-8");
		List<FileItem> items = null;
		//下句执行后已经得到文件,放在临时位置
		items = upload.parseRequest(request);
		//允许上传多个文件,需要遍历
		Iterator<FileItem> iter = items.iterator();
		while (iter.hasNext()) {
		    FileItem item = iter.next();
		    item.getSize();//文件的大小,字节
		    item.getName();//文件名字
			File uploadedFile = new File("d:/upload.jpg");//不限于jpg,可根据上传文件的名字的后缀来动态确定后缀
			//由临时文件得到我们最终的文件
			item.write(uploadedFile);
		}
	}


上一篇:linux 完整学习资料:第十章Mail邮件服务


下一篇:启迪之星刘博:优秀的创业者=家国情怀+学者智慧+商业思维+江湖行动