1.最近写图片上传功能,需求就是上传图片返回图片路径
@RequestMapping(value = "/fileUpload",method=RequestMethod.POST)
public @ResponseBody ComResponse fileUpload( @RequestParam("uploadFile") MultipartFile uploadFile,HttpServletRequest httpServletRequest) {
ComResponse response=new ComResponse();
try {
String filename = uploadFile.getOriginalFilename();
String tempPath=httpServletRequest.getSession().getServletContext().getRealPath("");
String realPath =System.getProperty("user.dir")+SEPARTOR+"src"+SEPARTOR+"main"+SEPARTOR+"webapp"+SEPARTOR+"WEB-SCR"+SEPARTOR+"img"+SEPARTOR;
System.out.println(realPath);
// 如果服务器已经存在和上传文件同名的文件,则输出提示信息
File tempFile = new File(realPath + filename);
if (tempFile.exists()) {
boolean delResult = tempFile.delete();
System.out.println("删除已存在的文件:" + delResult);
}
// 开始保存文件到服务器
if (!StringUtils.isEmpty(filename)) {
FileOutputStream fos = new FileOutputStream(realPath + filename);
BufferedOutputStream bos=new BufferedOutputStream(fos);
InputStream is = uploadFile.getInputStream();
int temp;
while((temp=is.read())!=-1){
bos.write(temp);
}
bos.close();
fos.close(); // 关闭FileOutputStream对象
is.close(); // InputStream对象
response.setResultData("/WEB-SCR/img/"+filename);
response.setStatusCode(ResponseCode.SYS_SUCCESS);
response.setStatusDesc("上传成功");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
2.调试时候发现uploadFile=null,少配置这个
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
3.maven
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>