首页 > 解决方案 > 节点上传 mp3 到 S3 文件大小未上传

问题描述

我正在使用 Node 将 mp3 文件上传到 Amazon S3。当我上传它时,文件大小为 9.0 字节,当我转到公共 url 时,音频文件不播放。这就是我所拥有的,

router.post('/i', async (req, res) => {
  const fileName = 'Voice.mp3';

  fs.readFile(fileName, (err, data) => {
    if (err) throw err;

    const params = {
      Bucket: '',
      Key: '',
      Body: fileName,
      ContentType: 'audio/mpeg',
    };

    s3.upload(params, function (s3Err, data) {
      if (s3Err) throw s3Err;
      console.log(`File uploaded successfully at ${data.Location}`);
    });
  });
});

我有一个名为 Voice.mp3 的本地文件。它使用正确的文件上传,因为当我更改 var 文件名时,它给了我一个错误。

文件名显示在 S3 存储桶中,但大小与实际文件不匹配。

我也将权限设置为可供公众访问。

标签: javascriptnode.jsamazon-s3storage

解决方案


Body参数设置为fileName,这是文件的名称,而不是文件内容,我认为这是您想要的。

将代码更改为说Body: data,它将上传实际的文件内容。


推荐阅读