我正在尝试使用Node和Axios从Web服务器下载文件。我正在遍历一系列“声音”。代码的结果是存在正确数量的文件,带有正确的文件名,但是大小不正确并且数据无效。
boardData.sounds.forEach((sound) => {
console.log(sound.sound_transcript);
//Download sound
var sound_filename = boardSounds_dir + sound.id + '.mp3';
console.log(sound_filename);
axios({
url: baseURL + sound.sound_file_url,
method: 'GET',
repsonseType: 'blob'
})
.then((response) => {
//Handle success
console.log('Load success');
fs.writeFile(sound_filename, response.data, (err) => {
if (err) throw 'error writing file: ' + err;
console.log('File written');
});
})
.catch((error) => {
//Handle error
console.error('Load error:', error.message);
//throw error.message;
})
.then(() => {
//Always executed
});
});
我相信这与同时存在多个实例并相互覆盖的事情有关,但是我希望能帮助您确定该怎么做。