我正在通过fs.createWriteStream
撰写多个文件。
我想将Last Modified
值更改为特定的时间戳,但我很难弄清楚如何实现这一点,我需要一些指示才能使其正常工作。
我在具有file
参数的循环中使用此代码。
var stream = fs.createWriteStream(__dirname + '/images/' + file.id + file.ext, { flags: 'w', encoding: null, mode: 0666 });
stream.on('finish', function(data) {
fs.utimes(stream.path, file.ts, file.ts, function (err) {
if (err) { throw err; }
console.log('>> Set mtime to: '+ file.ts);
});
});
client.getBlob(file.id).then(function(blob) {
blob.pipe(stream);
});
它在完成事件中记录了正确的内容,但在Windows中,我修改的日期是文件创建的时间。
节点版本为0.10.25
。
答案 0 :(得分:0)
一旦stream完成其操作并关闭,也许快速打开并在文件中附加一个字符会将最后修改日期设置为更接近你想要的日期?