我正在尝试创建图像上传,但是当我尝试通过Angular应用程序上传文件而不上传时却遇到了问题,但是当我尝试通过Postman上传图像时却上传了文件。 / p>
我认为这与Content-Type有关,因为当我试图找出问题并在Postman中禁用Content-Type时,我不再遇到相同的错误,并且效果很好。
这是我的Angular应用程序中的请求标头,在上传图片时不起作用。
{状态:“错误”,错误:“找不到文件”}
当我在标题中禁用Content-Type时,它将上传罚款,但如果启用它,则会出现与上述相同的错误。
public upload(file: File)
{
var data = new FormData();
data.append('file', file);
let url = ':api:/assets';
let observable = Observable.create(
(observer) => {
this
.baseApiService
.getHttpClient()
.post(
url,
data,
{
observe: 'response',
}
)
.subscribe(
(response) => {
let data = response.body;
let asset = AssetModel.fromData(data);
observer.next(asset);
observer.complete();
},
(error) => {
observer.error(error);
observer.complete();
}
);
}
);
return observable;
}
答案 0 :(得分:0)
根据您的测试,如果这是标题的问题,则可以在请求中编辑标题。我希望您正在使用Angular的HttpClient。如果是,请按如下所示修改您的代码:
/* I'm trying to unset the header since we can't directly remove it */
.post(
url,
data,
{
observe: 'response',
headers: new HttpHeaders({
'Content-Type': '' /* OR set to 'image/jpeg' or 'image/png' */
})
}
)
阅读更多有关HttpClient标头的信息:https://angular.io/guide/http#http-headers