node.js - 使用图像格式将图像保存到 s3 存储桶
问题描述
我正在尝试使用 multerS3 将图像上传到 s3 存储桶。它确实将文件保存到 s3 存储桶,但不是以图像格式。这是我的代码。
storage: multerS3({
s3: S3,
bucket: 'slsupload',
acl: 'public-read',
metadata: function (req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key: function (req, file, cb) {
cb(null, Date.now().toString()+".jpg")
}
})
});
const singleUpload = upload.single('file');
app.post('/test-upload', (req, res) => {
singleUpload(req, res, function(err, some) {
if (err) {
return res.status(422).send({errors: [{title: 'Image Upload Error', detail: err.message}] });
}
return res.json({'imageUrl': req.file.location});
});
});```
解决方案
您可以尝试设置contentType
买入手或让 multerS3contentType
自动发现:
var upload = multer({
storage: multerS3({
s3: s3,
bucket: 'some-bucket',
contentType: multerS3.AUTO_CONTENT_TYPE,
key: function (req, file, cb) {
cb(null, Date.now().toString())
}
})
})
推荐阅读
- python - 是否可以在 pyunitest 中实现多个测试运行器?只运行一次测试套件
- wordpress - 选项页面不显示
- php - Codeigniter 中多级用户的侧边栏部分
- javascript - 如何在 for 循环中使用 I-Value
- django - Django - 'WSGIRequest' 对象没有属性'post'
- dns - 如何更改查询IP地址的顺序(IPV4或V6)
- java - 尸检netbeans给出java版本错误
- c++ - 在 Arduino 中将 PWM 通道命名为 LEDC 是否有特定的原因
- webpack - 使用 webpack 和 twig 覆盖 Vuetify SASS 变量
- oracle - java.sql.Connection 的 AutoCommit 标志不适用于 SPARQL