[英]Cannot set Content-Type in Angular FileUpload control
我的Angular項目中有一個PrimeNG FileUpload控件,我手動調用了上載方法,如PrimeNG手動調用FileUpload所示 。 但是,盡管我已經用文件數據正確填充了files參數,但是數據從service.ts傳遞到Controller(ASP.NET MVC)后丟失了其值並返回null。 我認為問題是由於無法在任何事件中都設置Content-Type引起的,如下所示:
onBeforeSendFile(event: any) {
event.xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
event.xhr.setRequestHeader("Content-Type", "multipart/form-data");
}
or
onBeforeUploadFile(event: any) {
event.xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
event.xhr.setRequestHeader("Content-Type", "multipart/form-data");
}
等等...
我在setRequestHeader行中遇到“無法讀取未定義的屬性'setRequestHeader'”錯誤。 您能告訴我如何設置必要的RequestHeaders而不丟失文件數據嗎?
更新:這是我下面的發布方法:
post(url: string, body: any, comp?: BaseComponent): Observable<any> {
this.requestInterceptor(comp);
return this.http.post<any>(url, { body: JSON.stringify(body) },
{
headers: new HttpHeaders({ // set the header values here
'Content-Type': 'multipart/form-data',
'X-Requested-With': 'XMLHttpRequest',
'Test-Header': 'This is just a test header!'
})
}
).pipe(
catchError((error, obs) => this.handleError(error, comp)),
tap((res: Response) => {
this.onSubscribeSuccess(res, comp);
}, (error: any) => {
this.onSubscribeError(error, comp);
}),
finalize(() => {
this.onFinally(comp);
}));
}
您可以改為使用HttpClient :
this._HttpClient.post('url whatever', { 'body': 'here' }, {
headers: new HttpHeaders({ // set the header values here
'Content-Type': 'multipart/form-data'
})
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.