使用multer上传照片时,您可以保留原始创建日期和修改日期吗?

时间:2021-06-26 05:50:17

标签: node.js multer

我正在使用此代码上传照片:

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 做到这一点?或者它根本没有任何意义,因此不可能这样做?

1 个答案:

答案 0 :(得分:1)

<块引用>

但我想保留原始创建日期和修改日期 照片的属性(至少创建日期)。

当您向用户询问新图片时,您将替换该图片,即删除现有图片并上传新图片。如果您想保留用户上传的所有图片,则无需检查修改日期,因为它们不会对照片进行修改。

不是在 multer 中跟踪 originalDatemodifiedDate(在 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了解更多详情。

相关问题