我在网页上有一组链接到PDF表单和.doc表单的链接。这些文件不存储在数据库中,只是本地存储在服务器上。是否可以使用Javascript检索PDF或DOC文件的上次修改日期?我没有任何特殊需要使用Javascript,但它更可取。
更新:现在我意识到Javascript无法访问文件系统,是否有替代方法?
答案 0 :(得分:24)
如果它与您的调用函数位于同一服务器上,则可以使用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'));
答案 1 :(得分:2)
使用现代 fetch
方法:
var lastMod = null;
fetch(xmlPath).then(r => {
lastMod = r.headers.get('Last-Modified');
return r.text();
})
答案 2 :(得分:1)
这似乎很有用,对我有用 - 给你本地'日期
document.lastModified
与上面选择的req.getResponseHeader()相比,它减少了一次往返/ http呼叫。
答案 3 :(得分:0)
如果通过HTTP公开接口,则可以。另一种说法:公开WebService端点以获取对此信息的访问权。
当然,出于安全原因,您无法直接访问文件系统。
答案 4 :(得分:0)
您可以使用File.lastModified
属性获取文件的最后修改日期,即自Unix时代以来的毫秒数。
示例:
const file = document.getElementById('input').files[0];
const lastModifiedDate = new Date(file.lastModified);
console.log(`Last Modified Date: ${lastModifiedDate}`);
答案 5 :(得分:-1)
不,不是。您无法通过JavaScript
访问文件系统