节点中的Axios-下载文件循环返回无效数据

时间:2018-10-14 15:23:20

标签: node.js axios

我正在尝试使用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
        });
});

我相信这与同时存在多个实例并相互覆盖的事情有关,但是我希望能帮助您确定该怎么做。

0 个答案:

没有答案