我使用以前的逻辑-https://bots.rocket.chat/file-upload/ZSzGtWdXyP8DZwrQ9/Audio%20record.mp3
来检索此URL。现在,我需要下载它进行进一步处理,但是我尝试使用下载,axios.request和其他可用软件包。我对他们失败的最好猜测是,音频的实际URL与我检索到的不同。
此外,当我提供带有结束URL(较长的URL)的文件时,我可以使用相同的代码下载文件。 因此,需要弄清楚如何在节点中到达该URL。
还要访问第一个URL,您需要在https://bots.rocket.chat上注册一个帐户
这是我当前拥有的代码。传递给getFile函数的url是一个相对路径,我将其附加到前缀url以形成上述较短的URL,然后调用axios,这是行不通的。
但是当我用长网址替换该网址时,该网址类似于上面代码中发布的较长网址,就可以了。
async function getFile(url) {
var fs = require('fs');
return await axios.request({
responseType: 'arraybuffer',
followAllRedirects: true,
url: `https://bots.rocket.chat${url}`,
method: 'get',
headers: {
'Content-Type': 'audio/mpeg',
},
}).then((result) => {
const outputFilename = 'file2.mp3';
fs.writeFileSync(outputFilename, result.data);
return outputFilename;
})
.catch(err => console.log(err));
;
}