更新时间:2024-02-22 GMT+08:00
如何上传base64编码的图片
base64先转码成指定格式图片,然后调用OBS上传接口进行上传。
const base64ImgtoFile = function base64ImgtoFile(base64Content, filename) {
const arr = base64Content.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
// 如果环境支持文件格式, 也可以使用: return new File([u8arr], filename, { type: mime });
return new Blob([u8arr], { type: mime });
};
// obsClient表示OBS client实例
const uploadBase64Img = function uploadBase64Img(obsClient) {
// base64格式的内容
const base64Content = "data:image:xxxxxxxxxxxxx";
const filename = 'img.png';
const imgfile = base64ImgtoFile(base64Content, filename);
obsClient.putObject({
Bucket: 'bucketname',
Key: filename,
SourceFile: imgfile
}, function (err, result) {
if (err) {
console.error('Error-->' + err);
} else {
console.log('Status-->' + result.CommonMsg.Status);
}
});
};
父主题: FAQ