简介

我在使用 idea 上传文件时遇到一些问题,费了好些时间,最后还是的队友来帮忙。
问题出现在没有熟练使用 IDE,采用 SpringMVC 上传文件主要注意几个事项。

1. 配置 bean

在 web-servlet.xml 文件中,增加一个 bean 处理文件上传:

<bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
          p:defaultEncoding="UTF-8"
          p:maxUploadSize="10485760"
          p:uploadTempDir="WEB-INF/upload/temp"/>

同时要在 webroot 文件夹下的WEB-INF下建立upload/temp目录。

2. jsp 页面

<form method="post" action="${context}/yu1/upload.html" enctype="multipart/form-data">
     <input type="text" name="name" />
     <input type="file" name="upfile" />
     <input type="submit" />
</form>

注意enctype要为multipart/..形式,否则可能上传不了。

3. 控制器

@RequestMapping("/user/upload")
    public String updateThumb(@RequestParam("name") String name,
                              @RequestParam("file") MultipartFile file)throws Exception{
        if(!file.isEmpty()){
            file.transferTo(new File("E:/团队项目/集合/temp/"+file.getOriginalFilename()));
            return "redirect:success.html";
        }else{
            return "redirect:fail.html";
        }
    }

路径“E:/团队项目/集合/temp/”是上传文件的临时存储路径。

4. 手动创建目录

记得在 targe(项目打包)下的WEB-INF下新建upload/temp目录。
这个步骤最关键,否则文件上传不上去。




上传的文件都到这里啦!!



5. 总结

IDEA 这个编辑器还是挺智能的, 如果一个文件夹下什么东西都没有的话, 编译后是没有这个文件夹的, 这时候就要自己在相应的目录下新建文件夹。用好IDE,开发更快。


water_law
43 声望2 粉丝

生活的脚步很沉重,即便如此, 还是要坚持,相信努力才能有所收获。