我正在尝试上传本地文件到S3。这段代码可以很好地处理图像,但是PDF格式不正确。
NodeJS代码:
const s3=new AWS.S3();
let type=imgData.split(';')[0].split('/')[1];
if (type == "pdf") type="application/pdf";
else type="image."+type;
imgData=new Buffer.from(imgData.replace(/^data:image\/\w+;base64,/, ""), 'base64');
let params= { Bucket:bucketName, Key:fileName, Body:imgData, ACL:"public-read", ContentType:type };
s3.upload(params, (err, data)=>{
if (err) throw err;
console.log("Image loaded");
});
浏览器上传:
<input type="file" id="co-imageUpload" style="display:none">
$("#co-imageUpload").on("change",(e)=>{
let myReader=new FileReader();
myReader.onloadend=(e)=>{
// Send to Node JS
}
myReader.readAsDataURL(e.target.files[0]);
});
发布于 2021-03-13 12:18:53
结果,我需要更多地过滤数据:
const s3=new AWS.S3();
let type=imgData.split(';')[0].split('/')[1];
if (type == "pdf") {
type="application/pdf";
imgData=new Buffer.from(imgData.replace(/^data:application\/\w+;base64,/, ""), 'base64');
}
else{
type="image."+type;
imgData=new Buffer.from(imgData.replace(/^data:image\/\w+;base64,/, ""), 'base64');
}
let params= { Bucket:bucketName, Key:fileName, Body:imgData, ACL:"public-read", ContentType:type };
s3.upload(params, (err, data)=>{
if (err) throw err;
console.log("Image loaded");
});
https://stackoverflow.com/questions/66605123
复制