2017-02-06 19 views
0

ブラウザに表示する必要がある画像の塊があります。以下のコードは画像を開きますが、ウィンドウにはいくつかの標準語のスクリプトが表示されています。画像の内容が表示されない

コード:

var url="http://....link..../downloadFile?fdsFileId="+fileId; 
    $http({ 
     method: 'GET', 
     url: url, 
     responseType: 'arraybuffer' 
    }).success(function (data, status, headers) { 
     headers = headers(); 
     var contentType = headers['content-type']; 
     var blob = new Blob([data], { type: contentType }); 
     var fileURL = window.URL.createObjectURL(blob); 
     console.log("url:"+fileURL); 
     console.log("content type:"+contentType); 
     window.open(fileURL); 
     window.URL.revokeObjectURL(fileURL); 

表示された画像は以下の通りである: fileURLがブラウザに提供されます。 Click here to see the picture of the result.

+0

コンテンツタイプを設定しようとしましたか? 'image/png'ですか? –

+0

には、URL接頭辞 'blob'があります。 URLスキームについては[こちら](http://superuser.com/questions/948738/what-is-the-blobhttp-prefix-and-where-can-i-learn-more-about-this)を参照してください。 –

+0

@NagaveerGowda:そのことはcontentType変数によって設定されます。それはファイルの種類を検出し、それに応じて動作します。私は同様にダウンロードするために同じコードを使用しており、そこではうまく動作しますが、ここでは動作しません。 – Apoorv

答えて

0

セットcontent-type : 'image/png'とpng画像とその他のファイルも同様です。 すべてのファイルがサポートされている場合は、content-type : '' と設定してください。

編集1: 設定content-type : ''はクロムでは機能しませんでした。したがって、対応するファイル名からファイル拡張子を抽出し、if-elseを使用してコンテンツタイプを設定する必要がありました。

関連する問題