相关疑难解决方法(0)

通过签名 url 将图像上传到 AWS-S3 时图像损坏

我正在尝试通过来自 NodeJS 服务器(而不是来自浏览器)的签名 url 将图像上传到 aws-s3。要上传的图像已由 NodeJS 生成。我从 aws 获取签名的 url 并成功将其上传到 s3。

但是我的形象被破坏了。出于某种原因,S3 正在向我的图像添加一些标题(比较附加的图像)。

我究竟做错了什么?

获取签名网址:

    try {
        var params = {
            Bucket: bucketName,
            Key: 'FILE_NAME.png',
            Expires: 60
        };
        const url = await s3.getSignedUrlPromise('putObject', params);
        return url;
    } catch (err) {
        throw err;
    }
Run Code Online (Sandbox Code Playgroud)

上传到 s3

        var stats = fs.statSync(filePath);
        var fileSizeInBytes = stats["size"];
        const imageBuffer = fs.readFileSync(filePath);

        var formData = {
            'file': {
                value: imageBuffer,
                options: {
                    filename: 'FILE_NAME.png'
                }
            }
        };

        request({ 
            method: 'put',
            url, 
            headers: { …
Run Code Online (Sandbox Code Playgroud)

upload amazon-s3 node.js pre-signed-url

6
推荐指数
3
解决办法
1643
查看次数

标签 统计

amazon-s3 ×1

node.js ×1

pre-signed-url ×1

upload ×1