最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

通过签名URL将图像上传到AWS

IT培训 admin 2浏览 0评论

通过签名URL将图像上传到AWS

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

但是我的图像已损坏。由于某些原因,S3向我的图像添加了一些标题(比较图像)。

我在做什么错?

获取签名的URL:

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

上传到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: {
                'Content-Length': fileSizeInBytes,
                'Content-MD': md5(imageBuffer)           
            }, 
            formData 
        }, function (err, res, body) {
             console.log('body',body);
        });

将实际图像和上载的图像比较到s3。 S3添加了一些标题:

我正在尝试通过签名URL从NodeJS服务器(而不是从浏览器)将图像上传到aws-s3。要上传的图像已由NodeJS生成。我正在从aws获取签名网址,并成功执行...

回答如下:

尝试一下,它将为您服务

通过签名URL将图像上传到AWS

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

但是我的图像已损坏。由于某些原因,S3向我的图像添加了一些标题(比较图像)。

我在做什么错?

获取签名的URL:

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

上传到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: {
                'Content-Length': fileSizeInBytes,
                'Content-MD': md5(imageBuffer)           
            }, 
            formData 
        }, function (err, res, body) {
             console.log('body',body);
        });

将实际图像和上载的图像比较到s3。 S3添加了一些标题:

我正在尝试通过签名URL从NodeJS服务器(而不是从浏览器)将图像上传到aws-s3。要上传的图像已由NodeJS生成。我正在从aws获取签名网址,并成功执行...

回答如下:

尝试一下,它将为您服务

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论