Я пытаюсь использовать 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);
}
Когда я опускаю "dataType", двоичный файл проходит примерно в три раза больше, чем на самом деле на сервере. Однако, когда я делаю dataType равным "двоичному", ajax выдает ошибку:
"No conversion from text to binary"
Из некоторых ранних сообщений это звучит так, как будто jquery-ajax не может обрабатывать двоичные файлы таким образом.
Я обнаружил Delivery.js, который действительно работает достаточно хорошо для того, что я пытаюсь, но я бы предпочел не использовать решение node если возможно.
Любые предложения?