SpringMVC上传文件,批量上传文件

秒速五厘米 2023-06-19 11:30 146阅读 0赞

一:导入相关Jar包

commons-fileupload.jar

commons-io.jar

二:配置web.xml。上载解析器

  1. <!-- 文件上传配置 -->
  2. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  3. <!-- 设置编码格式 -->
  4. <property name="defaultEncoding" value="utf-8"></property>
  5. <!-- 设置文件大小 -->
  6. <property name="maxUploadSize" value="10485760000"></property>
  7. <!-- 设置缓冲区大小 -->
  8. <property name="maxInMemorySize" value="40960"></property>
  9. </bean>

三:web页面

  1. <form action="upload.do" enctype="multipart/form-data" method="post">
  2. 文件:<input type="file" name="file"/><input type="submit" value="上传"/>
  3. </form>

四:controller类 @RequestParam(“file”) 这个注解必须有

  1. /**
  2. * spring mvc封装了上传文件 将其封装为一个file对象
  3. * */
  4. @RequestMapping("/upload.do")
  5. public String upload(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest req){
  6. //获取上传位置
  7. String path=req.getRealPath("/upload");
  8. //获取文件名
  9. String filename=file.getOriginalFilename();
  10. try {
  11. InputStream is = file.getInputStream();
  12. OutputStream os = new FileOutputStream(new File(path,filename));
  13. int len=0;
  14. byte[] buffer = new byte[400];
  15. while((len=is.read(buffer))!=-1){
  16. os.write(buffer, 0, len);
  17. }
  18. os.close();
  19. is.close();
  20. } catch (FileNotFoundException e) {
  21. e.printStackTrace();
  22. } catch (IOException e) {
  23. e.printStackTrace();
  24. }
  25. return "redirect:index.jsp";
  26. }

五:批量上传web页面

  1. <form action="batch.do" enctype="multipart/form-data" method="post">
  2. 文件1:<input type="file" name="file"/><br>
  3. 文件2:<input type="file" name="file"/><br>
  4. <input type="submit" value="上传"/>
  5. </form>

六:批量上传controller类

  1. @RequestMapping("/batch.do")
  2. public String batch(@RequestParam("file") CommonsMultipartFile file[],HttpServletRequest req){
  3. //获取上传位置
  4. String path=req.getRealPath("/upload");
  5. for(int i=0;i<file.length;i++){
  6. //获取文件名
  7. String filename=file[i].getOriginalFilename();
  8. try {
  9. InputStream is = file[i].getInputStream();
  10. OutputStream os = new FileOutputStream(new File(path,filename));
  11. int len=0;
  12. byte[] buffer = new byte[400];
  13. while((len=is.read(buffer))!=-1){
  14. os.write(buffer, 0, len);
  15. }
  16. os.close();
  17. is.close();
  18. } catch (FileNotFoundException e) {
  19. e.printStackTrace();
  20. } catch (IOException e) {
  21. e.printStackTrace();
  22. }
  23. }
  24. return "redirect:index.jsp";
  25. }

发表评论

表情:
评论列表 (有 0 条评论,146人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringMVC文件

    文件上传自然是一个网站必不可少的元素之一,SpringMVC这个网站编程框架自然也有这个东西,下一面举一个例子说明这个问题。 如下图所示,一个简单的上传控件,只让上传bmp、

    相关 SpringMVC_文件

    一、文件上传 1、说明 SpringMVC为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring用 Jak