Как восстановить "Last Modified Date" загруженного файла в ASP.Net

Я разрабатываю веб-сайт, на котором клиент загружает некоторые файлы документов, такие как doc, docx, htm, html, txt, pdf и т.д. Я хочу получить последнюю измененную дату загруженного файла. Я создал один обработчик (.ashx), который выполняет работу по сохранению файлов.

Following is the code:
HttpPostedFile file = context.Request.Files[i];                                 
string fileName = file.FileName;                               
file.SaveAs(Path.Combine(uploadPath, filename));

Как вы можете видеть, очень просто сохранить файл, используя метод file.SaveAs(). Но этот класс HttpPostedFile не предоставляет никакого свойства для получения последней измененной даты файла.

Так может ли кто-нибудь сказать мне, как получить последнюю измененную дату файла, прежде чем сохранять его на жесткий диск?

Ответ 1

Вы не можете этого сделать. Запрос HTTP-сообщения не содержит эту информацию о загруженном файле.

Ответ 2

Рау,

Вы можете получить только дату на сервере. Если с этим все в порядке, попробуйте:

string strLastModified = 
    System.IO.File.GetLastWriteTime(Server.MapPath("myFile.txt")).ToString("D");

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

Ответ 3

Сегодня вы можете получить доступ к этой информации с клиентской стороны, используя HTML5 api

//fileInput is a HTMLInputElement: <input type="file" multiple id="myfileinput"> 
var fileInput = document.getElementById("myfileinput");
// files is a FileList object (simliar to NodeList) 
var files = fileInput.files;
for (var i = 0; i < files.length; i++) {
    alert(files[i].name + " has a last modified date of " + files[i].lastModifiedDate);
}

Источник и дополнительная информация

Ответ 4

Это невозможно, пока вы не сохраните файл на диск.

Ответ 5

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

В операционной системе фактически хранятся атрибуты файлов, такие как "Создано", "Доступ" и "Последнее изменение". См. Где сохранены "последние измененные даты" и "дата последнего доступа" ?

(Обычно я говорю, что некоторые типы файлов, например изображения, могут иметь EXIF ​​ данные тега, такие как дата/время, когда была сделана фотография.)