我试图使用Angular 4.0和SpringBoot应用程序上传一个json文件。我已经检查并尝试了Stackoverflow的其他解决方案,但我无法找出确切的问题是什么。
我收到400 BAD Request Error消息,其中包含消息:不存在所需的请求部分“文件”。
我的RestController看起来像这样(出于测试目的),但不幸的是什么也没发生。
@RestController
@RequestMapping("/api")
public class UploadRequestResource {
....
@PostMapping("/fileupload")
@Timed
public ResponseEntity<Endpoint> FileUpload(@RequestParam("file") MultipartFile file) throws URISyntaxException {
if (file.isEmpty()) {
System.out.println("File is empty"); }
System.out.println("File is not empty");
//some logic
return ResponseEntity.ok() ....
}
}
我在应用程序配置文件中添加了以下内容:
spring:
http:
multipart:
max-file-size: 5MB
max-request-size: 20MB
我的HTML文件如下所示:
<form name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm">
...
<input type="radio" [(ngModel)]="form.uploadType" name="uploadType" value="file"> <label for="url">File</label><br>
<input type="file" name="file" placeholder="Upload file..." (change)="onFileChange($event)" (focus)="onFileFocus()"/>
</div>
</div>
角度ts文件如下所示:
fileUpload(data): Observable<Endpoint> {
let headers = new Headers({ 'Content-Type': 'multipart/form-data' });
let options = new RequestOptions({ headers: headers });
return this.http.post('/api/fileupload', data , options).map((res: Response) => {
const jsonResponse = res.json();
return this.convertItemFromServer(jsonResponse);
});
}
有人知道我应该如何解决这个错误吗?如果有人帮我,我会非常感激的。谢谢
所以我找到了解决问题的方法。我使用了Formdata(见下文),而不是使用内容类型:“multipart/form-data”。
const formData = new FormData();
formData.append('file', data, data.name);
return this.http.post('/api/fileupload', formData).map((res: Response) => {
const jsonResponse = res.json();
return this.convertItemFromServer(jsonResponse);
现在它工作得很好。
我一直在看这个,但似乎我的问题在别处。我试图上传一个文件。当前定义为: 上传过程如下: 而这是Spring REST终结点: 问题是,Spring抛出了一个异常,告诉我参数不存在: 这是请求信息: 我怎样才能使这个文件上传工作?
我有一个执行文件上传的控制器,我正在尝试从另一个服务向控制器endpoint发布请求。 从我调用上述endpoint的位置发送代码 我得到以下错误,不知道原因: 已经四处寻找了一段时间,没有解决方案。
我试图上传大文件使用Spring和普通话MultipartResolver(与此相关主题非常相似的东西 上传一个小文件(几Kb)的结果如下: 这是我的UploadController.java"/上传"方法代码: 我的表单代码: 以及注释bean定义: 和应用。特性: 我在表单输入中有一个正确的属性名“file”和值,我还在注释中编写了一个MediaType,但它仍然无法工作。另外,我注意到,当我
我想通过邮递员上传一个图像到我的Rest API。我使用的是Spring Boot框架。以下是屏幕截图: 我也没有设置任何头部,因为我在其他堆栈溢出答案中发现,它给出了多部分边界错误。 下面是我的控制器代码: 现在,我将使用一个产品对象,该对象内部包含一个定义为Byte[]数组的图像。我把它作为字符串和图像分开作为多部分文件。 下面是我定义的产品类属性: 因为,我使用的是spring boot,这
我正在尝试将图像作为广告中的字符串字段上传,但当将文件添加到正文时,我遇到了这个错误:“异常”:“org.springframework.web.multipart.support.MissingServletRequest estPartException”,“消息”:“所需的请求部分'file'不存在”。我在这里寻找有关此问题的答案,但没有任何帮助。我将很高兴得到任何帮助。 我的控制器: 我的
我在客户端中有以下代码: 这个代码就是你所说的上面的代码: 它在服务器上给我的错误:已解决[org.springframework.web.multipart.support.MissingServletRequestPartException:所需的请求部分“file”不存在] 它在客户端给我的错误:org.springframework.web.client.HttpClientErrorEx