我使用Spring Boot作为后端服务器,并且我有一个JavaScript前端。为了在前端和后端之间发送数据,我使用了Axios 库,它通常工作得很好。
问题:
(Chrome)浏览器控制台中的图像如下所示:
这是一个非常长的字母数字字符串,这就是我使用以下代码发送到服务器的内容:
static uploadFiles(files) {
const data = new FormData();
Object.keys(files).forEach(key => {
data.append("files", new Blob([files[key]], { type: 'image/jpeg' }));
});
const url = API_URL + "uploadFiles";
return axios.post(url, data, RestServices.getAuth({
"Content-Type": "multipart/form-data;boundary=gc0p4Jq0M2Yt08jU534c0p"
}));
}
Run Code Online (Sandbox Code Playgroud)
我不知道这boundary东西有什么作用,但它可以在后端接收文件...
在后端(弹簧)端,我成功收到了一个 MultipartFiles 数组:
@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST)
@ResponseBody
public boolean uploadFiles(HttpServletRequest request, @RequestParam("files") MultipartFile[] files) throws IOException {
String filePath = Thread.currentThread().getContextClassLoader().getResource("assets/images/").getFile();
InputStream inputStream;
OutputStream outputStream;
for(MultipartFile file : files) …Run Code Online (Sandbox Code Playgroud)