Я пытаюсь создать расширение google-chrome, которое будет загружать файл mp3. Я пытаюсь использовать капли HTML5 и iframe для запуска загрузки, но, похоже, это не работает. Вот мой код:
var finalURL = "server1.example.com/u25561664/audio/120774.mp3";
var xhr = new XMLHttpRequest();
xhr.open("GET", finalURL, true);
xhr.setRequestHeader('Content-Type', 'application/octet-stream');
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
var bb = new (window.BlobBuilder || window.WebKitBlobBuilder)();
bb.append(xhr.responseText);
var blob = bb.getBlob("application/octet-stream");
var saveas = document.createElement("iframe");
saveas.style.display = "none";
saveas.src = window.webkitURL.createObjectURL(blob);
document.body.appendChild(saveas);
delete xhr;
delete blob;
delete bb;
}
}
xhr.send();
При просмотре в консоли BLOB-объект создается правильно, настройки выглядят правильно:
размер: 15312172
тип: "application / octet-stream"
Однако, когда я пробую ссылку, созданную createObjectURL()
,
блоб: хром-расширение: // dkhkkcnjlmfnnmaobedahgcljonancbe / b6c2e829-c811-4239-bd06-8506a67cab04
Я получаю пустой документ и предупреждение о том, что
Ресурс интерпретируется как Документ, но
передается с типом MIME
приложения / октет-поток.
Как получить мой код для правильной загрузки файла?