如何实现文件类型的表单项上传
在springmvc中,如果一个表单需要上传一个图片或者其他的file类型表单项,如何实现?
22
收起
正在回答
3回答
同学你好!
可以的。操作步骤:
1、引入commons-fileupload相应的jar
2、需要在springmvc.xml配置CommonsMultipartResolver,也就是文件上传解析器
1 2 3 4 5 6 7 | < bean id = "multipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver" > <!--上传文件的最大大小,单位为字节 --> < property name = "maxUploadSize" value = "17367648787" ></ property > <!-- 上传文件的编码 --> < property name = "defaultEncoding" value = "UTF-8" ></ property ></ bean > |
3、form表单的enctype设置为multipart/form-data,以二进制的形式传输数据。
4、 后台参考代码:
使用MultipartFile对象作为参数,接收前端发送过来的文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | @RequestMapping ( "/upload" ) public String upload( @RequestParam ( "file" ) MultipartFile multipartFile, HttpServletRequest req) throws IllegalStateException, IOException { //随机文件名 String fileName = UUID.randomUUID().toString().replace( "-" , "" ); //文件存储路径 String path = request.getServletContext().getRealPath( "XXX" ); //后缀名 jpg String extension = FilenameUtils.getExtension( multipartFile.getOriginalFilename() ); File file = new File( path + fileName + "." + extension ); //保存文件 multipartFile.transferTo( file ); return "success" ; } |
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧