多文件上传,使用ajax对象向后端发送请求,并将FormData作为参数传递。以及后端java接口代码
时间: 2023-12-31 16:04:08 浏览: 95
前端JS代码:
```javascript
// 获取上传的文件
var files = document.getElementById("file").files;
// 创建FormData对象
var formData = new FormData();
// 循环添加文件到formData对象中
for (var i = 0; i < files.length; i++) {
formData.append("file", files[i]);
}
// 创建ajax对象
var xhr = new XMLHttpRequest();
// 设置请求方式和请求地址
xhr.open("post", "/upload", true);
// 发送请求
xhr.send(formData);
```
后端Java代码:
```java
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile[] files) {
// 遍历上传的文件
for (MultipartFile file : files) {
// 获取文件名
String fileName = file.getOriginalFilename();
// 上传文件到指定的目录
try {
file.transferTo(new File("D:/upload/" + fileName));
} catch (IOException e) {
e.printStackTrace();
}
}
return "上传成功";
}
```
其中,`@RequestParam("file") MultipartFile[] files` 表示接收名为 `file` 的文件参数,可以接收多个文件,使用数组接收。`file.transferTo(new File("D:/upload/" + fileName))` 表示将文件上传到 `D:/upload/` 目录下。
阅读全文