jquery ajaxを使用してバイナリオーディオファイルをダウンロードしようとしています。jquery ajaxを使用してバイナリファイルをダウンロードする
通常、私はちょうどこのようなコマンドを発行します。
windows.location.href = 'http://marksdomain(dot)com/audioFile.wav' ;
しかし、最近、私たちのサーバが応答するにはあまりにも長い間待っている、と私は厄介なゲートウェイタイムアウトメッセージが表示されます。
代わりにjquery-ajaxを使用することをお勧めします。それ以来、私はタイムアウトをより詳細に制御できます。ここで
は私がこれまでに果たしているコードです:私は、「データ型」を省略すると
$.ajax(
{ url: 'http://marksdomain(dot)com/audioFile.wav'
, timeout: 999999
, dataType: 'binary'
, processData: false // this one does not seem to do anything ?
, success: function(result) {
console.log(result.length);
}
, error: function(result, errStatus, errorMessage){
console.log(errStatus + ' -- ' + errorMessage);
}
、バイナリファイルは、それが実際にサーバ上にあるよりも大きな約3倍て来ています。 jqueryの-Ajaxは、このようにバイナリファイルを扱うことができないかのように聞こえる、いくつかの以前の記事から
"No conversion from text to binary"
:iが等しいデータ型を作るときしかし、「バイナリ」、AJAXは、エラーがスローされます。
実際には私が試みているところではかなりうまく動作しますが、可能であればノードソリューションを使用したくありませんでしたが、Delivery.jsが見つかりました。
提案がありますか?
問題は、この解決策はまだ単に「windows.location.href」を使用してのようなタイムアウトの問題を取得することです。 – edwardsmarkf
しかし、リクエストオブジェクトにアクセスできるようになり、要求を送信する前に 'timeout'を調整することができます。これはあなたの目標だったと思いますか? – Brandon
true - "oReq.timeout = 9999999;"を追加しました。 - これはすべてがいくつかのapacheの問題だったのだろうかと今私は思っています。 – edwardsmarkf