Javascript 如何通过nodejs(通过heroku)下载文件并存储到s3?
我想知道如何通过heroku将文件下载到aws-s3,而不使用网页 我正在Nodejs中使用wget下载音频文件,并希望通过ffmpeg对它们进行重新编码。虽然我必须先存储文件,但heroku没有提供存储空间。 然后我找到了heroku可以连接aws-s3的方法,但是示例代码是供用户上传的页面,我只想使用代码 这是尚未连接到s3的代码Javascript 如何通过nodejs(通过heroku)下载文件并存储到s3?,javascript,node.js,heroku,amazon-s3,Javascript,Node.js,Heroku,Amazon S3,我想知道如何通过heroku将文件下载到aws-s3,而不使用网页 我正在Nodejs中使用wget下载音频文件,并希望通过ffmpeg对它们进行重新编码。虽然我必须先存储文件,但heroku没有提供存储空间。 然后我找到了heroku可以连接aws-s3的方法,但是示例代码是供用户上传的页面,我只想使用代码 这是尚未连接到s3的代码 const wget = spawn('wget',['-O', 'upload_audio/'+ sender_psid +'.aac', audioUrl
const wget = spawn('wget',['-O', 'upload_audio/'+ sender_psid +'.aac', audioUrl]);
//spit stdout to screen
wget.stdout.on('data', function (data) { process.stdout.write(data.toString()); });
// //spit stderr to screen
wget.stderr.on('data', function (data) { process.stdout.write(data.toString()); });
wget.on('close', function (code) {
console.log(process.env.PATH);
const ffmpeg = spawn('ffmpeg',['-i', 'upload_audio/'+ sender_psid +'.aac', '-ar', '16000', 'upload_audio/'+ sender_psid +'.wav', '-y']);
...
});
错误来了:
upload_audio/1847432728691358.aac: No such file or directory
...
Error: ENOENT: no such file or directory, open 'upload_audio/1847432728691358.wav'
我怎样才能解决这个问题?
有人能给我一些建议吗?
也许不会用s3可以得到吗 在您尝试过NodeJS静态文件API之前,我不建议您使用S3。在服务器上,看起来是这样的:
app.use(express.static(path.join(__dirname, 'my_audio_files_folder')));
AWS S3似乎增加了不必要的复杂性,但如果你下定决心,这是一个棘手的问题吗?答案不是很明显吗
没有这样的文件或目录
-错误很容易自我解释,不是吗?还是我遗漏了什么?您好,谢谢您的评论。因为这是在Heroku上运行的,所以无论我创建文件夹,它都无法工作。那么,如果您创建文件夹但下载失败,我认为您的创建似乎有缺陷。我认为这是因为Heroku没有提供存储文件的空间。现在我将尝试连接aws-s3空间,但我找不到任何示例代码。