是否可以使用Javascript检索文件的最后修改日期?

64jmpszr  于 2023-01-01  发布在  Java
关注(0)|答案(7)|浏览(158)

我的网页上有一组链接,可链接到PDF表格和.doc表格。这些文件没有存储在数据库中,只是存储在本地服务器上。是否可以使用Javascript检索PDF或DOC文件的最后修改日期?我没有任何特定的需要使用Javascript,但它更可取。

**UPDATE:**现在我意识到Javascript不能访问文件系统,有没有替代方法?

2ekbmq32

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'));
jslywgbw

jslywgbw2#

这看起来很有用,而且对我很有效--给你"本地“日期

document.lastModified

与上面选择的req.getResponseHeader()相比,它少了一个往返/http调用。

xxls0lw8

xxls0lw83#

使用现代的fetch方法:

var lastMod = null;
fetch(xmlPath).then(r => {
    lastMod = r.headers.get('Last-Modified');
    return r.text();
})
bcs8qyzn

bcs8qyzn4#

文件.上次修改时间

您可以使用File.lastModified属性获取文件的上次修改日期(以Unix纪元以来的毫秒数表示)。

    • 示例:**
const file = document.getElementById('input').files[0];
const lastModifiedDate = new Date(file.lastModified);

console.log(`Last Modified Date: ${lastModifiedDate}`);
evrscar2

evrscar25#

如果一个接口是通过HTTP公开的,你就可以。换句话说:公开一个WebService端点来访问这些信息。
当然,出于安全原因,您不能直接访问文件系统。

zzzyeukh

zzzyeukh6#

将@FutureBoy的answer化为完整函数,并添加HEAD方法和日期转换,代码如下所示。

function fetchLastModified(url, callback) {
    fetch(url, {method: "HEAD"})
        .then(r => {callback(new Date(r.headers.get('Last-Modified')))});
}
drkbr07n

drkbr07n7#

不,不是的.你不能通过JavaScript访问文件系统

相关问题