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

时间:2010-02-22 19:45:10

标签: javascript metadata

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

更新:现在我意识到Javascript无法访问文件系统,是否有替代方法?

6 个答案:

答案 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

您可以使用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

访问文件系统