В настоящее время я пробовал все возможные способы сделать это, но я не могу заставить его работать, несмотря на то, что я читаю все связанные вопросы на inte rnet ...
Я просто пытаюсь скачать mp3 arrayBuffer, который я ПОЛУЧАЮ из URL с модулем xmlHttpRequest из моего кода сервера узла с намерением затем записать буфер в файл mp3, вот код:
const endpoint = "https://cdns-preview-a.dzcdn.net/stream/c-ae4124ee0e63b9f6abffddb36b9695cf-2.mp3";
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var oReq = new XMLHttpRequest();
oReq.open("GET", endpoint, true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
if (this.status != 200) {
console.log(this.status)
}
console.log(oReq.response);
var uInt8Array = new Uint8Array(oReq.response);
console.log(uInt8Array);
var dest = "1.mp3";
var stream = fs.createWriteStream(dest);
stream.write(uInt8Array);
stream.end();
}
};
oReq.send();
oReq.response всегда пуст , независимо от того, что я печатаю в oReq.responseType (arraybuffer, blob). если я попытаюсь написать oReq.responseText, это всегда будет некоторая потертая кодировка, потому что она была переведена в текст.
Не могли бы вы дать мне советы, есть ли какой-то глубокий глубокий слой, который я не понимаю? можно ли сделать то, что я хочу достичь?