React将文件上传到spring控制器

时间:2017-09-21 09:53:41

标签: reactjs spring-mvc spring-boot

我们有一个基于Java spring-boot的服务器和一个反应JS UI应用程序。 我们需要实现从react应用程序到服务器的文件上传。

服务器控制器代码:

@RequestMapping(value = "/aaa/{id}/upload", method = RequestMethod.PUT, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Object uploadFile(@PathVariable("id") Integer id, @RequestParam("file") MultipartFile file, HttpServletRequest request) {
     ... 
    logic
    ...
}

使用邮递员,我们可以成功上传文件。我们无法通过反应JS应用程序来实现。

这是反应JS上传文件代码:

uploadFile(file, type) {
        const formData = new FormData();
        formData.append('file', file);

        return axios.put(`aaa/1/upload`, file, {
            headers: {
                'content-type': 'multipart/mixed; boundary=--ABC123Boundary'
            }
        })
            .then(() => {
                NotificationsManager.info('File successfully uploaded.')
            })
            .catch((err) => {
                NotificationsManager.error(err.message, `Error in uploading file`);
            });
    }

我们尝试了边界,没有边界,默认边界......没有任何作用。

更新:我们收到此错误:

"Bad Request"
exception:
"org.springframework.web.multipart.support.MissingServletRequestPartException"
message:"Required request part 'file' is not present"

我们做错了什么?

此致 IDO

0 个答案:

没有答案