尝试上传到 Amazon S3 时出现“不支持的正文有效负载对象”

2024-03-28

我想将文件从我的前端上传到我的 Amazon S3 (AWS)。

我正在使用 dropzone,因此我转换文件并将其发送到我的后端。

在我的后端我的文件是这样的:

{ fieldname: 'file',
originalname: 'test.torrent',
encoding: '7bit',
mimetype: 'application/octet-stream',
buffer: { type: 'Buffer', data: [Array] },
size: 7449 },

当我尝试使用我的函数上传文件时:

var file = data.patientfile.file.buffer;

        var params = { Bucket: myBucket, Key: data.patientfile.file.fieldname, Body: file };

        s3.upload(params, function (err, data) {
            if (err) {
                console.log("******************",err)
            } else {
                console.log("Successfully uploaded data to myBucket/myKey");
            }
        });

我得到错误:

不支持的正文有效负载对象

您知道如何发送我的文件吗?

我尝试过发送它putobject并得到类似的错误。


我认为您可能需要将文件内容(在本例中可能是 data.patentfile.file.buffer)转换为二进制

var base64data = new Buffer(data, 'binary');

所以参数会是这样的:

var params = { Bucket: myBucket, Key: data.patientfile.file.fieldname, Body: base64data };

或者,如果我弄错了并且缓冲区已经是二进制的,那么你可以尝试:

var params = { Bucket: myBucket, Key: data.patientfile.file.fieldname, Body: data.patientfile.file.buffer};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试上传到 Amazon S3 时出现“不支持的正文有效负载对象” 的相关文章

随机推荐