FormData异步发送文件,后端SpringBoot接收
前端JavaScript使用FormData
对象异步发送文件,后端Spring Boot使用@PostMapping
接收文件。
前端JavaScript代码示例:
// 假设有一个文件输入元素,其id为"fileInput"
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
const formData = new FormData();
formData.append('file', file);
fetch('/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
后端Spring Boot代码示例:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
// 处理上传的文件,例如保存到磁盘或数据库
// 这里只是返回一个简单的响应
return "文件上传成功:" + file.getOriginalFilename();
}
}
确保你的Spring Boot项目已经配置了Multipart解析器,通常在application.properties
或application.yml
中添加以下配置:
spring.servlet.multipart.max-file-size=128KB
spring.servlet.multipart.max-request-size=128KB
以上代码实现了文件的异步上传,并在后端使用MultipartFile
接收。
评论已关闭