私はこのコードをjsonから生成されたxmlファイルをダウンロードするために持っています。私はjsonToSsXml()という関数でこれを行います。それはうまくいっています。しかし、私がダウンロードしたいときは、すべてのダウンロードが動作するわけではありません。それがない場合、他に動作しますが、私はブロブが発生したかどうかを確認するために、いくつかのconsole.logsを入れて、エラーメッセージを持っていないと私が言ったように、それはは常にblobをダウンロードします(reactjsを使用)
var download = function(content, filename, contentType) {
if(!contentType) contentType = 'application/octet-stream';
var a = document.getElementById('excel');
var blob = new Blob([content], {'type':contentType});
a.href = window.URL.createObjectURL(blob);
console.log(a.href); //blob:http://mydomain/c72b5368-1fd1-48a1-9b32-858e8d3ab6b5
a.download = filename;
console.log(a.download);//formulario.xls
//window.URL.revokeObjectURL(blob);
};
download(jsonToSsXml(campos), 'formulario.xls', 'application/vnd.ms-excel');
を行います。それは私の "コンテンツ"の値で問題になることはできません、それは単純なXMLです、彼らはすべてOKに生成されます。私はダウンロード機能の最後の行(URL.revokeObjectURLメソッド)をコメントしました。なぜなら、この使い方がわからず、この状況で何かする必要がある場合です。すべてのヒント?
編集:ランダムな場合(ただし、常に同じファイル)404エラーが表示され、ファイルが見つからないが、blob URLはconsole.logのように常に生成されます。