Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过nodejs(通过heroku)下载文件并存储到s3?_Javascript_Node.js_Heroku_Amazon S3 - Fatal编程技术网

Javascript 如何通过nodejs(通过heroku)下载文件并存储到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

我想知道如何通过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可以得到吗

在您尝试过NodeJS静态文件API之前,我不建议您使用S3。在服务器上,看起来是这样的:

app.use(express.static(path.join(__dirname, 'my_audio_files_folder')));


AWS S3似乎增加了不必要的复杂性,但如果你下定决心,这是一个棘手的问题吗?答案不是很明显吗
没有这样的文件或目录
-错误很容易自我解释,不是吗?还是我遗漏了什么?您好,谢谢您的评论。因为这是在Heroku上运行的,所以无论我创建文件夹,它都无法工作。那么,如果您创建文件夹但下载失败,我认为您的创建似乎有缺陷。我认为这是因为Heroku没有提供存储文件的空间。现在我将尝试连接aws-s3空间,但我找不到任何示例代码。