gpt4 book ai didi

javascript - base64 图像损坏上传到 S3

转载 作者:行者123 更新时间:2023-11-29 18:01:25 27 4
gpt4 key购买 nike

router.post('/image', multipartMiddleware , function(req, res) {

var file_name = req.body.name;
var data = req.body.data;

return s3fsImpl.writeFile(file_name , data , 'base64').then(function (err) {

res.status(200).end();
});

});

我上面的代码有什么问题?我的 therminal 没有错误,我的 s3 中有该文件,但下载时它已损坏。

最佳答案

因为我不知道您的代码中的 s3fsImpl 是什么,所以我无法针对您的实现回答这个问题,但这是我使用 aws-sdk 的方式:

const AWS = require('aws-sdk');
const s3 = new AWS.S3({apiVersion: '2006-03-01'});
const file_name = req.body.name;
const data = req.body.data;
// We need to get the format of the file from the base64 string i.e. data:image/png;base64<base64String>
const format = data.substring(data.indexOf('data:')+5, data.indexOf(';base64'));

// We need to get the actual file data from the string without the base64 prefix
const base64String = data.replace(/^data:image\/\w+;base64,/, '');
const buff = new Buffer(base64String,'base64');

s3.upload({
Bucket:'s3-bucket-name',
Key: file_name,
Body: buff,
ContentEncoding:'base64',
ContentType:format
}, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});

关于javascript - base64 图像损坏上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34700883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com