Подтвердить что ты не робот

Возможно ли получить последнюю измененную дату файла с помощью Javascript?

У меня есть набор ссылок на веб-странице, которые ссылаются на формы PDF и формы .doc. Эти файлы не хранятся в базе данных, просто хранятся как есть, локально на сервере. Можно ли получить последнюю измененную дату файла PDF или DOC с помощью Javascript? У меня нет конкретной необходимости использовать Javascript, но это предпочтительнее.

UPDATE: Теперь, когда я понимаю, что Javascript не может получить доступ к файловой системе, существует ли альтернативный метод?

4b9b3361

Ответ 1

Если он на том же сервере, что и ваша вызывающая функция, вы можете использовать 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'));

Ответ 2

Это кажется полезным и работает для меня, давая вам "местную" дату

document.lastModified 

По сравнению с приведенным выше выбором req.getResponseHeader() это на один вызов туда и обратно /http меньше.

Ответ 3

Если интерфейс открыт через HTTP, вы можете. Другой способ сказать: открыть конечную точку WebService, чтобы получить доступ к этой информации.

Конечно, вы не можете иметь прямой доступ к файловой системе по соображениям безопасности.

Ответ 4

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

Нет, нет. Вы не можете получить доступ к файловой системе через JavaScript