时间:2021-05-20
文件上传主要分以下几个步骤:
(1)新建maven java project;
(2)在pom.xml加入相应依赖;
(3)新建一个表单页面(这里使用thymleaf);
(4)编写controller;
(5)测试;
(6)对上传的文件做一些限制;
(7)多文件上传实现
(1)新建maven Java project
新建一个名称为spring-boot-fileupload maven Java项目;
(2)在pom.xml加入相应依赖;
加入相应的maven依赖,具体看以下解释:
然后你就可以访问:http://127.0.0.1:8080/file 进行测试了,文件上传的路径是在工程的跟路径下,请刷新查看,其它的请查看代码中的注释进行自行思考
(6)对上传的文件做一些限制;
对文件做一些限制是有必要的,在Application.java进行编码配置:。
@Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); //// 设置文件大小限制 ,超了,页面会抛出异常信息,这时候就需要进行异常信息的处理了; factory.setMaxFileSize("128KB"); //KB,MB /// 设置总上传数据总大小 factory.setMaxRequestSize("256KB"); //Sets the directory location where files will be stored. //factory.setLocation("路径地址"); return factory.createMultipartConfig(); }(7)多文件上传实现
多文件对于前段页面比较简单,具体代码实现:
在src/resouces/templates/mutifile.html
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>Hello World!</title> </head> <body> <form method="POST" enctype="multipart/form-data" action="/batch/upload"> <p>文件1:<input type="file" name="file" /></p> <p>文件2:<input type="file" name="file" /></p> <p>文件3:<input type="file" name="file" /></p> <p><input type="submit" value="上传" /></p> </form> </body> </html>FileUploadController中新增两个方法:
// 访问路径为:http://127.0.0.1:8080/mutifile @RequestMapping("/mutifile") public String mutifile() { return "/mutifile"; } /** * 多文件具体上传时间,主要是使用了MultipartHttpServletRequest和MultipartFile * * @param request * @return */ @RequestMapping(value = "/batch/upload", method = RequestMethod.POST) @ResponseBody public String handleFileUpload(HttpServletRequest request) { List<MultipartFile> files = ((MultipartHttpServletRequest) request) .getFiles("file"); MultipartFile file = null; BufferedOutputStream stream = null; for (int i = 0; i < files.size(); ++i) { file = files.get(i); if (!file.isEmpty()) { try { byte[] bytes = file.getBytes(); stream = new BufferedOutputStream(new FileOutputStream( new File(file.getOriginalFilename()))); stream.write(bytes); stream.close(); } catch (Exception e) { stream = null; return "You failed to upload " + i + " => " + e.getMessage(); } } else { return "You failed to upload " + i + " because the file was empty."; } } return "upload successful"; }访问路径:http://127.0.0.1:8080/mutifile 进行测试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实现springboot的多文件上传,首先创建一个springboot项目,添加spring-boot-starter-web依赖。然后在resources
本文实例讲述了PHP实现多文件上传的方法。分享给大家供大家参考。具体实现方法如下:'文件上传失败,没有错误发生,文件上传成功',1=>'文件上传失败,上传的文件
SpringBoot对文件上传做了简化,基本做到了零配置,我们只需要在项目中添加spring-boot-starter-web依赖即可。单文件上传1,代码编写(
本文实例讲述了Thinkphp多文件上传实现方法,分享给大家供大家参考。具体实现方法如下:Thinkphp手册中对于多文件上传描述的很清楚:如果需要使用多个文件
SpringMVC中对文件上传做了封装,我们可以更加方便的实现文件上传。从Spring3.1开始,对于文件上传,提供了两个处理器:CommonsMultipar