我正在使用此代码上传照片:
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, '/home/vk/uploads/');
},
filename: function (req, file, callback) {
callback(null, file.originalname);
}
});
var upload = multer({ storage: storage }).single('avatar');
app.post('/profile', async (req, res) => {
upload(req, res, function (err) {
if (err) {
console.log(err)
} else {
var FileName = req.file.filename;
res.status(200).send(FileName);
}
})
});
效果很好。但我想保留照片的原始创建日期和修改日期属性(至少创建日期)。现在,假设照片有 Date Created: 31 January 2020, 00:00:00
,multer upload 会用当前时间和日期替换它。修改版也一样。
有什么办法可以用 multer 或 NodeJS 做到这一点?或者它根本没有任何意义,因此不可能这样做?
答案 0 :(得分:1)
但我想保留原始创建日期和修改日期 照片的属性(至少创建日期)。
当您向用户询问新图片时,您将替换该图片,即删除现有图片并上传新图片。如果您想保留用户上传的所有图片,则无需检查修改日期,因为它们不会对照片进行修改。
不是在 multer 中跟踪 originalDate
和 modifiedDate
(在 API 中不可用),您可以将其保留在该字段的 DB 中。
Multer API 仅提供以下字段:
Key Description Note
fieldname Field name specified in the form
originalname Name of the file on the user’s computer
encoding Encoding type of the file
mimetype Mime type of the file
size Size of the file in bytes
destination The folder to which the file has been saved DiskStorage
filename The name of the file within the destination DiskStorage
path The full path to the uploaded file DiskStorage
buffer A Buffer of the entire file MemoryStorage
您可以查看here了解更多详情。