MultipartFile批量上传前后端代码
时间: 2024-09-26 15:18:05 浏览: 65
springmvc文件上传.docx
MultipartFile是Spring MVC框架中用于处理文件上传的对象。当你需要在前端通过HTML表单将多个文件同时发送到后端服务器进行批量上传时,可以利用这个对象。
**前端部分**(JavaScript + HTML):
```javascript
// HTML表单示例
<form id="batchUploadForm" enctype="multipart/form-data">
<input type="file" multiple name="files[]" />
<button type="submit">批量上传</button>
</form>
<script>
document.getElementById('batchUploadForm').addEventListener('submit', async (e) => {
e.preventDefault();
const files = document.querySelector('input[type=file]').files;
const formData = new FormData();
for (let i = 0; i < files.length; i++) {
formData.append('files[]', files[i]);
}
// 发送POST请求到后端API
await fetch('/api/upload-batch', {
method: 'POST',
body: formData,
});
});
</script>
```
**后端部分**(Spring Boot Java):
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
@PostMapping("/api/upload-batch")
public String handleBatchUpload(@RequestParam("files[]") List<MultipartFile> files) {
try {
for (MultipartFile file : files) {
// 进行文件验证、存储等操作
if (!isValidFile(file)) continue;
saveToDisk(file);
}
return "Files uploaded successfully!";
} catch (Exception ex) {
return "Error uploading files: " + ex.getMessage();
}
}
```
在这个例子中,前端通过`FormData`对象收集多个文件并发送到后端,后端使用`MultipartFile`接收和处理每个文件。
阅读全文