java - Angular 8 将 multipart/form-data 发送到 Java 后端
问题描述
我正在尝试创建一个服务,用户将能够填写表单(所有字符串数据)并使用它上传文件。对于前端,我们使用 Angular 8,对于后端,我们使用 Java。我们使用 JBOSS 进行了设置,但我不知道这是否会有所不同。尝试提交时,我们收到一些无法修复的错误。在进行了多次反复试验后,我们不确定该怎么做。
当我们将内容类型保留为未定义(在 post 方法中未指定选项)时,我们得到:“415 Unsupported media type content-type application/octet-stream not supported”
如果我们通过选项将内容类型专门设置为未定义,它会说无法读取未定义的属性“长度”
当我们将内容类型设置为 multipart/form-data 时,我们得到:“无法解析多部分 servlet 请求;嵌套异常是 java.io.IOException:org.apache.tomcat.util.http.fileupload.FileUploadException:请求被拒绝因为没有找到多部分边界”我们也尝试用它设置边界,但它似乎不起作用。
正在使用的方法 和错误 任何建议将不胜感激。如果您需要任何其他信息,请告诉我,我会提供。
谢谢!
解决方案
我无法从您提供的图像中看到您在代码中使用 HttpHeaders。
在请求中包含一个 HttpOptions 对象,如下所示:
var requestHeaders = new HttpHeaders();
requestHeaders.append('<key>', '<media type>');
const httpOptions = {
headers: requestHeaders
};
this.http.post<any>(url, body, httpOptions).subscribe()
推荐阅读
- c++ - Cannot find directory in context of main.cpp (Allegro with CMake)
- javascript - Change focus to next input field on "Enter" key with VueJS & Quasar
- javascript - Using Select2 Ajax call with Ruby on Rails and ElasticSearch
- c# - Console.ReadLine() 不将字符串设置为用户输入
- python - 如何在python Tkinter中按下按钮后显示文本
- sql-server - SQL Server 的 IP 限制
- python - for k in data:如何在这个循环中达到 k+1 in data
- javascript - 在表格单元格之间循环,读取不同的数据
- javascript - 使用 react refs 来关注兄弟元素
- python - Django 如何处理 AutoField 主键的增量?