页面部分
<form action="webService/predictFileService" method="post"
enctype="multipart/form-data">
上传文件:
<input type="file" name='fileName'/>
<input type="submit" value="提交网页文件" />
</form>
对应的请求为:
后台部分
需要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);
}
}