我的网页上有一组链接,可链接到PDF表格和.doc表格。这些文件没有存储在数据库中,只是存储在本地服务器上。是否可以使用Javascript检索PDF或DOC文件的最后修改日期?我没有任何特定的需要使用Javascript,但它更可取。
**UPDATE:**现在我意识到Javascript不能访问文件系统,有没有替代方法?
2ekbmq321#
如果它与调用函数位于同一服务器上,则可以使用XMLHttpRequest-这个例子不是异步的,但是如果您愿意,可以使它成为异步的。
function fetchHeader(url, wch) { try { var req=new XMLHttpRequest(); req.open("HEAD", url, false); req.send(null); if(req.status== 200){ return req.getResponseHeader(wch); } else return false; } catch(er) { return er.message; } } alert(fetchHeader(location.href,'Last-Modified'));
jslywgbw2#
这看起来很有用,而且对我很有效--给你"本地“日期
document.lastModified
与上面选择的req.getResponseHeader()相比,它少了一个往返/http调用。
xxls0lw83#
使用现代的fetch方法:
fetch
var lastMod = null; fetch(xmlPath).then(r => { lastMod = r.headers.get('Last-Modified'); return r.text(); })
bcs8qyzn4#
您可以使用File.lastModified属性获取文件的上次修改日期(以Unix纪元以来的毫秒数表示)。
File.lastModified
const file = document.getElementById('input').files[0]; const lastModifiedDate = new Date(file.lastModified); console.log(`Last Modified Date: ${lastModifiedDate}`);
evrscar25#
如果一个接口是通过HTTP公开的,你就可以。换句话说:公开一个WebService端点来访问这些信息。当然,出于安全原因,您不能直接访问文件系统。
zzzyeukh6#
将@FutureBoy的answer化为完整函数,并添加HEAD方法和日期转换,代码如下所示。
function fetchLastModified(url, callback) { fetch(url, {method: "HEAD"}) .then(r => {callback(new Date(r.headers.get('Last-Modified')))}); }
drkbr07n7#
不,不是的.你不能通过JavaScript访问文件系统
7条答案
按热度按时间2ekbmq321#
如果它与调用函数位于同一服务器上,则可以使用XMLHttpRequest-
这个例子不是异步的,但是如果您愿意,可以使它成为异步的。
jslywgbw2#
这看起来很有用,而且对我很有效--给你"本地“日期
与上面选择的req.getResponseHeader()相比,它少了一个往返/http调用。
xxls0lw83#
使用现代的
fetch
方法:bcs8qyzn4#
文件.上次修改时间
您可以使用
File.lastModified
属性获取文件的上次修改日期(以Unix纪元以来的毫秒数表示)。evrscar25#
如果一个接口是通过HTTP公开的,你就可以。换句话说:公开一个WebService端点来访问这些信息。
当然,出于安全原因,您不能直接访问文件系统。
zzzyeukh6#
将@FutureBoy的answer化为完整函数,并添加HEAD方法和日期转换,代码如下所示。
drkbr07n7#
不,不是的.你不能通过JavaScript访问文件系统