2017-08-17 5 views
2

私は角2角度2「はマルチパート/フォームのデータ」にコンテンツタイプを設定しますが、「アプリケーション/ JSON」にしない

に基づいてイオンモバイルプロジェクト内のファイルをアップロードしようとしています少なくとも3つのフィールド(_id、タイプ、およびファイル)を持つFormDataオブジェクト。

this.formData = new FormData(); 
if (fileCount > 0) { // a file was selected 
    for (let i = 0; i < fileCount; i++) { 
    this.formData.append('file', inputEl.files.item(i)); 
    } 
} 

[... in the upload method I pass this.formData as files ...] 

files.append('_id', data._id); 
files.append('tipo', tipo); 

私は私のアップロード方法に渡し、私は「マルチパート/フォームのデータ」に「コンテンツタイプ」を設定し

let options: RequestOptionsArgs = new RequestOptions(); 
options.headers = this.headers; (In this.headers I have my Authorization header set) 
options.headers.delete('Content-Type'); 
options.headers.set('Content-Type', 'multipart/form-data'); 

私は、HTTPポスト

this.http.post(
    `${this.apiUrl}/utenti/upload`, 
    files, 
    options 
) 

を作りますサーバーからの応答が悪いです。

Sorry, an error occurred loading the page (500) 
Unexpected token - 

私はChromeのネットワークタブに見て、私は私のリクエストヘッダが間違っていることがわかります。私のペイロードがフォーム・データスタイルで正しい

Content-Type: application/json 

一方:

------WebKitFormBoundaryKiWq1WTTF3AJCFRX 
Content-Disposition: form-data; name="file"; filename="IMG_0001.JPG" 
Content-Type: image/jpeg 


------WebKitFormBoundaryKiWq1WTTF3AJCFRX 
Content-Disposition: form-data; name="_id" 

58e7b968bed0575e13efc63c 
------WebKitFormBoundaryKiWq1WTTF3AJCFRX 
Content-Disposition: form-data; name="tipo" 

foto 
------WebKitFormBoundaryKiWq1WTTF3AJCFRX-- 

上の任意の推測何がここに間違っている?

答えて

0

インターセプターを実装している場合は、ヘッダーをオーバーライドしていないことを確認してください。

関連する問題