javascript - 节点上传 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 存储桶中,但大小与实际文件不匹配。
我也将权限设置为可供公众访问。
解决方案
该Body
参数设置为fileName
,这是文件的名称,而不是文件内容,我认为这是您想要的。
将代码更改为说Body: data
,它将上传实际的文件内容。
推荐阅读
- javascript - 如何使用 Input + Button + JS 脚本和 Mailchimp 发送电子邮件
- javascript - 将 dataTable 输入字段宽度设置为自动
- android - 使用函数引用来注册和注销监听器是否安全?
- reactjs - 样式化组件 - 具有嵌套类的 css 变量
- debian - 如何在 Debian 软件包控制文件“Depends:”“Pre-Depends”子句中指定次要版本的范围
- go - 如何将字符串转换为复数?
- python - 我如何根据 12 个数组(12 个月)制作颜色图?
- github - 如何从 github API 获取网站链接?
- python - 如何确定使用 lmfit 进行曲线拟合的初始参数值
- mesibo - 在mesibo群聊中,我无法创建群,有人知道如何创建吗?