[英]NodeJs Upload csv string content to s3
我曾尝试将 csv 内容数据上传到 s3,但在我的代码下方无法正常工作,无法将 csv 数据存储到 csv.gz 文件中
var filename= "ff1.csv.gz"
var csvData = "username,email,year,month\n"
csvData = csvData + username +","+email+","+year_data+","+month_data+"\n"
var paramsu = {
Bucket: bucket1,
Key: filename,
Body: csvData,
ContentType: 'application/octet-stream'
};
var res = await s3.putObject(paramsu).promise();
它显示损坏的 gzfile 无法提取
任何帮助都会真正挽救我的一天
如果您没有准备好文件,您可以创建一个写入流并使用它传递给 s3 sdk。
我们可以使用 multer-s3 将 IMAGE/ CSV/ EXCEL 文件上传到 AWS s3。
我使用.single(fieldname)方法上传单个文件。
const aws = require('aws-sdk');
const multer = require('multer');
const multerS3 = require('multer-s3');
const s3 = new aws.S3({
accessKeyId: process.env.AWS_ACCESS_KEY,
secretAccessKey: process.env.AWS_SECRET_KEY,
region: process.env.REGION,
});
const upload = multer({
storage: multerS3({
s3: s3,
bucket: process.env.AWS_S3_BUCKET,
metadata: function (req, file, cb) {
cb(null, {fieldName: 'Meta_Data'});
},
key: function (req, file, cb) {
cb(null, file.originalname);
},
limits: {
fileSize: 1024 * 1024 * 5 // allowed only 5 MB files
}
})
}).single('file');
exports.uploadfile = async(req,res,next)=>{
try{
upload(req,res, function(err){
if(err){
console.log(err);
}
console.log(req.file.location);
})
})
}catch (err){
res.status(400).json({
status : 'fail',
message : err.message
});
}
}
在路线文件中
router.route('/')
.post(imageController.uploadfile);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.