3

ファイルを提供するために Javascript でブロブを作成しようとしています。ただし、 によって作成されたリンクは、window.URL.createObjectURL(blob)時間の経過とともに無効になります。ページが開いている限り有効なリンクを生成できるようにしたいと考えています。オンラインで見ると、autoRevoke オプションが true に設定されていることがわかりました。これにより、積極的に使用されていないときに URL が取り消されていると考えるようになりました。falseに設定してみましたが、TypeErrorが発生します。

コードは次のとおりです。

var res = xhr.response;
var blob = new Blob([res]);
var url = window.URL.createObjectURL(blob, {autoRevoke : false}); 

エラーは次のとおりです。

Uncaught TypeError: Type error background.js:52

blob の URL が無効にならないようにするにはどうすればよいですか?

4

1 に答える 1

0

ここで説明する API を使用して BLOB をファイル システムに保存する場合: http://www.html5rocks.com/en/tutorials/file/filesystem/

持続するファイル システム URL を作成できます。このソリューションには、ユーザーにファイルの保存を承認するよう求めるプロンプトが表示されるという欠点があります。

この機能について、ユーザーが見るであろう機能について詳しく話していただけますか? 何にリンクしていますか?

あなたのコメントに応えて: ファイルのコンテンツへの参照を保持したい限り、input 要素を DOM に保持することをお勧めします。コンテンツにリンクしている場合は、入力要素の一意の ID で関数を呼び出すリンクを作成できます。この関数は、オンデマンドで blob URL を生成し、ブラウザーをその URL に転送します。URL を img src などとして使用している場合、アプリには、オンデマンドで BLOB URL を作成できるユーザー インタラクションが含まれている可能性があります。

于 2013-03-25T19:28:40.183 に答える