私は、角度$ httpを使ってファイルをダウンロードするコードを書いています。ファイルの名前はではなく、URLにと指定されています。 URLには、ファイルのユニークな識別子が含まれています。この識別子は、アプリケーションの外部から取得されます。
$http.get(myUrl)
が呼び出されると、すべて正常に動作します。ファイルが取得され、コールバックハンドラでアクセスできますが、ファイルの名前を取得する方法はわかりません。フィドラーと生の応答をキャプチャ、私はこれを参照してください。以上のことから
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 54
Content-Type: application/octet-stream
Server: Microsoft-IIS/8.5
Access-Control-Allow-Origin: http://www.example.com/getFile/12345
Access-Control-Allow-Credentials: true
Content-Disposition: attachment; filename=testfile.txt
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 09 Oct 2015 20:25:49 GMT
Lorem ipsum dolar sit amet! The contents of my file!
を、サーバーが「コンテンツ・処分」にファイルの名前を返送されることは明らかであるが、私は見つかっていませんとにかく私の角度コールバック内でそれにアクセスする。ヘッダーからファイルの名前を取得するにはどうすればよいですか?以下の答えに応答して
編集: 私はすでにresponse.headers()
を試してみましたその前に言及している必要があります。 Object {content-type: "application/octet-stream", cache-control: "private"}
を返すので、何らかの理由でContent-Dispositionを取得できません。 response.headers('Content-Disposition')
はnull
を返します。
あなたは解決策を見つけましたか@andrewの回答は完璧です – spankmaster79
?私はまったく同じ問題を抱えています:Fiddlerは正しいコンテンツ処理ヘッダーを明確に示していますが、以下の解決策はありません:response.headers( 'Content-Disposition')がNULLを返します – fikkatra
私はそれを特定の私がやっていた仕事ですが、私は良い一般的な答えはありません。 –