spring mvc上传图片

时间:2021-12-27 23:42:02

1、需要commons-fileupload.jar

commons-io.jar

2、需要在springmvc.xml中 配置存放静态资源的路径,对图片等静态资源放行

     <mvc:resources location="/static/" mapping="/static/**"/>

3、图片上传页面

 <form action="/springmvc1/upload" method="post" enctype="multipart/form-data">
<input type="text" name="title"/><br>
<input type="file" name="file"/><br>
<input type="submit">
</form>
<img alt="图片" src=${imgpath }>

4、后台页面

@RequestMapping(method=RequestMethod.GET)
public String upload(){
return "fileupload";
} @RequestMapping(method=RequestMethod.POST,produces="text/html;charset=UTF-8")
public String uploadPost(String title, MultipartFile file, HttpServletRequest request, RedirectAttributes redirectAttributes){ String realPath=null; String filename = UUID.randomUUID().toString()+"."+file.getOriginalFilename().split("\\.")[1];
try { realPath = request.getSession().getServletContext().getRealPath("/static/upload/");
file.transferTo(new File( realPath + File.separatorChar + filename));
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
redirectAttributes.addFlashAttribute("imgpath", "/springmvc1/static/upload/" + filename);
return "redirect:/upload";
}

通过url请求时:

spring mvc上传图片

上传成功后

spring mvc上传图片

可以再xml配置上传文件大小的限制:

     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000"></property>
</bean>

上传过大的就会报出异常。

spring mvc上传图片