ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
案例代码:https://gitee.com/flymini/codes03/tree/master/learn-bootupload **** **1. 前端提交表单** ```html <input type="file" id="files" name="上传文件" multiple> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> $("#files").change(function () { //创建表单对象 const formData = new FormData() for (let i = 0; i < this.files.length; i++) { formData.append("file", this.files[i]) } formData.append("detail", "文件的一些信息") $.ajax({ url: "http://localhost:8080/uploadFile2", type: "post", //必须是post,不能是get async: true, //true为异步,false为同步---同步和异步都可以 data: formData, processData: false, //告诉jQuery不要去处理发送的数据 contentType: false, //告诉jQuery不要去设置Content-Type请求头 beforeSend: function () { //在提交前执行的代码 }, success: function (res) { //提交后并执行成功的执行的代码 console.log(res) }, error: function () { //后端发生异常后执行的代码 } }) }) </script> ``` <br/> **2. *resources/application.yml*** ```yml spring: servlet: multipart: max-file-size: 51200MB #上传单个文件的大小上限--50GB max-request-size: 2560000MB #总共上传文件的大小上限--2500GB enabled: true #是否支持一次性上传多个文件,默认为true,支持 ``` <br/> **2. 后端代码** ```java @RestController public class UploadController { /** * 方式一:通过注解 @RequestParam 接收 */ @PostMapping("/uploadFile") public String uploadFile(@RequestParam("file") MultipartFile[] multipartFiles, @RequestParam("detail") String detail) throws IOException { System.out.println("detail:" + detail); //detail:文件的一些信息 for (MultipartFile file : multipartFiles) { System.out.println("文件名:" + file.getOriginalFilename()); System.out.println("文件大小:" + file.getSize()); //将文件存储到服务器的磁盘中 file.transferTo(new File("f:/app/upload/" + file.getOriginalFilename())); } //文件名:001.xlsx //文件大小:3414 //文件名:002.xlsx //文件大小:3483 return "上传成功"; } /** * 方式二:通过注解 @RequestPart 接收 */ @PostMapping("/uploadFile2") public String uploadFile2(@RequestPart("file") MultipartFile[] multipartFiles, @RequestParam("detail") String detail) throws IOException { System.out.println("detail:" + detail); //detail:文件的一些信息 for (MultipartFile file : multipartFiles) { System.out.println("文件名:" + file.getOriginalFilename()); System.out.println("文件大小:" + file.getSize()); //将文件存储到服务器的磁盘中 file.transferTo(new File("f:/app/upload/" + file.getOriginalFilename())); } //文件名:001.xlsx //文件大小:3414 //文件名:002.xlsx //文件大小:3483 return "上传成功"; } } ```