#javascript #node.js #fs
#javascript #node.js #fs
Вопрос:
Я пытаюсь загрузить файл по ссылке
Это мой код
const url ="https://lalalai.s3-us-west-2.amazonaws.com/media/split/a703a60c-54f3-48f4-91b5-43a60c-54f3-48f4-91b5-4b3bc71dfd2f/accompaniment";
const file = fs.createWriteStream("./uploads/exp.mp3");
https.get(url, async function (response) {
await response.pipe(file);
console.log("done");
});
Проблема в том, что сервер возвращает «готово», но загруженный файл все еще не завершен.
Кто-нибудь может мне помочь? спасибо: D
Ответ №1:
Я думаю, вы можете прослушать событие и применить обратный вызов для того, что произойдет для этого конкретного события. ниже приведен пример кода.
const url ="https://lalalai.s3-us-west-2.amazonaws.com/media/split/a703a60c-54f3-48f4-91b5-43a60c-54f3-48f4-91b5-4b3bc71dfd2f/accompaniment";
const file = fs.createWriteStream("./uploads/exp.mp3");
https.get(url, async function (response) {
response.pipe(file);
console.log("downloading started");
response.on("error", (err) => {
console.log("some error occurred while downloading");
throw err;
});
response.on("end", () => {
console.log("it worked, download completed");
});
});
Иногда загружаемый файл приходит в ответ.тело вместо ответа, поэтому проверьте это также, если выше не работает.