我收到了反馈,以保留下载文件的修改日期。如果我在zip文件中提供文件,我找到了保存它的方法,但是当我从我的nodejs服务器提供文件时遇到了问题。
以下是我目前的实施情况:
try{
var stat = fs.statSync(fullpath);
self.response.writeHead(200, {
'Content-Type': mimeType,
'Last-Modified': stat.mtime // not working
});
var fileStream = fs.createReadStream(fullpath);
fileStream.pipe(self.response);
fileStream.on('end', function() {
console.log("complete")
});
}catch(e)
{ //to handle user cancel the download and bring down whole system
logger.error("streaming failed,because of:"+e.message);
}
最初我认为设置标题' Last-Modified'应该做的伎俩,但显然不是。需要能够在Chrome中运行,但如果它可以在浏览器中运行,那就太棒了。
注意:这不是因为使用" Tue,1994年11月15日12:45:26 GMT"而不是stat.mtime也不起作用。
更新:从2017年初开始,浏览器似乎无法实现,如link所示,执行此操作的唯一方法是curl或wget。
答案 0 :(得分:1)
您是指浏览器下载并保存文件时文件的修改日期吗?您无法这样做,因为这需要远程计算机上的操作系统访问权限。文件上的修改日期是客户端计算机上文件系统的函数。