Spring MVC上传文件

Spring MVC上传文件

1.      首先,我们先把需要用到的jar包加进来


2.      然后,把在springmvc.xml配置文件中配置文件上传解析器:

         如:

                <bean id="multipartResolver"

    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

       <!-- 设定默认编码 -->

       <property name="defaultEncoding"value="UTF-8"></property>

       <!-- 设定文件上传的最大值5MB5*1024*1024 -->

       <property name="maxUploadSize"value="5242880"></property>

    </bean>

3.     然后咱们就可以在jsp文件上写上添加文件的标签了,

如:

<form action="${pageContext.request.contextPath }/test" method="post"enctype="multipart/form-data">

       <h3>文件上传</h3>

       文件1<input name="file"type="file"/><br /><br />

       <input type="submit"value="Submit" />

</form>

要注意的是,form 标签一定要填上enctype="multipart/form-data"属性,值也是显示这个。

4.     现在一切就绪,然后咱们就可以编写Controller了,

@RequestMapping(value="/test",method=RequestMethod.POST)

    public String uploadFile(MultipartFile uploadFile,HttpSession session) throws IllegalStateException, IOException{

         //session来获得要保存文件地址的路径

         String path =session.getServletContext().getRealPath("/WEB-INF/images/");

         //判断上传的文件是否是空的

         if(!uploadFile.isEmpty()){

             //获得上传文件的原名称

             String oldName =uploadFile.getOriginalFilename();

             //然后用System.currentTimeMillis()来与原名称组成新的文件名,以至于保证保存文件时,文件名不会有重复

             String newName = System.currentTimeMillis()+oldName;

             //根据路径和文件名创建文件

             File file = new File(path, newName);

             //然后利用FileUtils工具类把数据复制过去

             FileUtils.copyInputStreamToFile(uploadFile.getInputStream(),file);

         }

     return"redirect:/index";

5     启动Tomcat,访问web项目

然后选择文件,确认:


就这样,文件就上传了

然后有啥需要改进的请朋友们提下意见,我会非常感谢的。

最后,祝各位喜欢Java的朋友,事业进步,感情美满



猜你喜欢

转载自blog.csdn.net/weixin_40254133/article/details/80609231