2016-10-28 5 views
0

私はこのコードを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のように常に生成されます。

答えて

関連する問題