2017-12-15 20 views
0

コンテンツ処理ヘッダーが表示されないようです。私はContent-Typeしか見ることができません。しかしそれは私の反応です。角2はファイルのダウンロードからファイル名を取得します

public openAttachment(id: number) { 
this.http 
    .get(`${this.startupService.baseUrl}company/${this.company.companyID}/attachment/${id}`, 
    {responseType: 'blob', observe: 'response'}) 
    .subscribe(data => { 
    console.log(data); 

    const contentDis = data.headers.get('content-disposition'); 
    console.log(contentDis); 

    const contentType = data.headers.get('content-type'); 
    console.log(contentType); 
    }); 
}  

は、ここに私のコンソールログのコピーです:

enter image description here

、ここでの応答です:それはあなたのコードの不具合を思えなかった

enter image description here

+0

私の回避策は、サーバー上のMIMEタイプを正しく設定することです。 Angularがこれを検出してファイルを適切に開きますが、ファイル名は元のファイル名ではなくguidです。 –

答えて

0

バックエンドで 'Access-Control-Expose-Header'が正しく設定されていないと、ブラウザクライアントコードでアクセスできなくなります。

したがって、バックエンドコードにAccess-Control-Expose-Headers(‘Content-Disposition’)をチェックして設定してください。

https://jaketrent.com/post/expose-http-headers-in-cors/リンクがこの場合に役立つ場合があります。

+0

ヘッダーが送信されています。あなたは、私のポストの下にある画像で、 –

+0

がCORSが許可される前にそれにアクセスすることができないことがわかります。 – sungyong

+0

あなたが意味することを理解していない –

関連する問題