2017-11-15 4 views
0

BLOBに格納されたFlashオブジェクトを使用しようとしていますが、URL.createObjectURLによって返されたURLを埋め込みタグのsrcとして使用した場合、ブラウザはファイルとしてBLOBをダウンロードします。ここでBLOBをFlashオブジェクトとして使用する

は私の生成されたHTMLです:

<object height="500" width="1000"> 
    <embed height="500" width="1000" src="blob:http://127.0.0.1:34721/1fa7a01c-25b7-4ad0-ba1d-1ddef61617ce"/> 
</object> 

そして、ここではJavaScriptがブロブとobjectタグを生成するのに使われています:

dataは、それぞれの256のバイトを含む、 Uint8Arrayの配列である
var blob = new Blob(data, { 
       type: 'application/x-shockwave-flash' 
      }); 

document.body.innerHTML += '<object height="500" width="1000" ><embed height="500" width="1000" src="' + URL.createObjectURL(blob) + '"/></object>' 

をバイナリデータ。

ブロブのタイプはapplication/x-shockwave-flashで、元の.swfファイル(確認済み)と同じです。ファイル自体は、Object URLの代わりに使用すると機能します。

私が読んだところから、BLOBを指すオブジェクトURLは、通常のURLで使用できる場所であればどこでも使用できます。埋め込みタグは例外ですか?

+0

これは推測です:埋め込みタグが通常、レスポンスヘッダーから取得するMIMEタイプを見逃しているのではないかと思いますか?「type =」アプリケーションを設定してみてください/ x-shockwave-flash "を埋め込みタグ内の属性として使用します。 Flashは広くサポートされていませんが、ブラウザ間で同じエラーが発生しているかどうかをテストします。 – Radio

+0

@ラジオそれは働いた!私はそれを受け入れることができるように答えとして投稿できますか? – DividedByZero

+0

完了、ありがとうございます。 – Radio

答えて

2

埋め込みタグは、通常、応答ヘッダーから取得するMIMEタイプを見逃す場合があります。

まだFlashは広くサポートされていないため、ブラウザ間で同じエラーがないかどうかをテストしたいと思います。

関連する問題