当前位置: 首页 > 知识库问答 >
问题:

使用Axios将文件发送到Spring Boot REST

聂溪叠
2023-03-14

我试图发送一个csv文件到我的javaSpring启动后端。发送文件的代码如下:

    var url = 'http://localhost:3001/UploadFile';
    var file = this.state.file;
    var formData = new FormData();
    formData.append("file", file);

    axios.post(url, formData, { 
        headers: { 'Content-Type': 'multipart/form-data' } 
    });

以及从Spring Boot接受我的文件的代码:

    @CrossOrigin
    @RequestMapping("/UploadFile")
    @ResponseBody
    public void uploadFile(@RequestParam("file") MultipartFile file) {

    }

然而,这似乎行不通。我一直收到一个错误,说当前请求不是一个多部分请求。有什么想法吗?

共有1个答案

曾新
2023-03-14

在前端指定内容类型是不够的,您还需要在控制器中指定内容类型。您应该告诉spring控制器它应该使用什么,并且最好将RequestMethod设置为POST,如下所示:

@CrossOrigin
@RequestMapping("/UploadFile")
@ResponseBody
public void uploadFile(@RequestParam("file") MultipartFile file, method = RequestMethod.POST, consumes = "multipart/form-data") {

}
 类似资料:
  • 问题内容: 我正在开发一个React应用,该应用需要从elsaticsearch获取数据。在前端,实际上我正在尝试使用axios来执行请求: 我想获取带有某些ID的特定文档。上面的查询实际上在kibana内部有效。但是,以上查询返回my-type内的所有文档,我在这里做错了什么? 问题答案: 我认为以下应该可行。虽然爱可信自述说,是专门只为,,和请求,我没有看到在强制执行此代码的任何,和简化的测试

  • 我正在尝试使用Vertx上传一个文件,该请求是一个包含PDF的POST请求,我的处理程序如下所示(我从github中的一个示例中获取了代码): 根据上面的评论,我不能只尝试这样的事情(它实际上显示了一个错误): 我一直在检查MessageCodec,但我不清楚如何将其应用于这种情况。 注意:此escenario必须使用eventbus。

  • 问题内容: 我的问题是可以使用ajax(jquery)将图像上传到服务器吗 以下是我的ajax脚本,无需重新加载页面即可发送文本 是否可以修改它以发送图像? 问题答案: 这可行。 是您要找的东西吗?

  • 我正在使用django后端和CRAO前端。我将jwt刷新令牌保存为http仅cookie: 然后,为了刷新访问令牌,我发送了一个axios请求: 但是,在这种情况下,最初保存的cookie不会由axios发送。然而,在删除httponly属性后,cookies确实会被发送,并且一切正常。

  • 我尝试使用axios对烧瓶服务器进行POST: 现在是烧瓶的部分 但是,我最终会出现以下错误: 无法加载XMLHttpRequesthttp://127.0.0.1:5000/test.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。起源'http://localhost:3000因此不允许访问。 为什么?我将按照建议设置标题

  • 问题内容: Oracle文档说- TextMessage对象用于发送包含java.lang.String的消息。它从Message界面继承>,并添加文本消息正文。此消息类型可用于传输基于文本的消息,包括XML> content的消息。 这怎么可能?XML的内容是否仅是可发送的(通过将其转换为对象然后发送)?是否可以将XML文件以任何方式真正放入队列,然后在接收方读取? 问题答案: 请使用它,并且您