【发布时间】:2019-11-30 01:27:45
【问题描述】:
我想知道如何通过heroku将文件下载到aws-s3,并且不使用网页。
我在 Nodejs 中使用 wget 下载音频文件,并希望通过 ffmpeg 重新编码它们。虽然我必须先存储文件,但 heroku 没有提供存储空间。 然后我找到heroku可以连接aws-s3的方式,但是示例代码是用户上传的页面,我只是想使用代码。
这是还没有和s3连接的代码。
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 可以得到它?
【问题讨论】:
-
这是一个问题吗?答案不是很明显吗?
No such file or directory- 错误很容易解释,是不是还是我遗漏了什么? -
您好,感谢您的评论。因为这是在 Heroku 上运行的,所以无论我创建文件夹,它都无法工作。
-
那么,如果您创建文件夹但下载失败,我认为您的创建似乎有缺陷。
-
我认为这是因为 heroku 没有提供存储文件的空间。现在我将尝试连接 aws-s3 空间,但我找不到任何示例代码。
标签: javascript node.js heroku amazon-s3