FiIeInfo.CreationTime. Как правильно прочитать значение?

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

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

string savePath = MapPath("~/" + Path.GetFileName(e.FileName));
FileInfo MyFileInfo = new FileInfo(savePath);

string dt = MyFileInfo.CreationTime.Day.ToString();
string mn = MyFileInfo.CreationTime.Month.ToString();
string yr = MyFileInfo.CreationTime.Year.ToString();

Я заметил одну вещь, которая

Если изображение находится в той же папке, что и веб-сайт, оно дает мне правильные значения для всех

dt, mn а также yr

Но если это за пределами этого места, это всегда дает мне одно и то же значение каждый раз

{01/01/1601 00:00:00}

Не знаете, как с этим разобраться? Любой совет, полезный код? Спасибо

1 ответ

Кажется, вы еще не поняли барьер клиент / сервер. Пути от клиента не имеют смысла на сервере.

Так получилось, что ваш сайт работает на той же машине, что и клиент, потому что вы отлаживаете локально. Это просто совпадение, и оно позволяет вашему коду иногда работать (по совпадению).

Правильная загрузка файлов работает путем игнорирования пути и чтения из потока, предоставленного элементом управления загрузкой файлов. Загрузка файла - это просто поток байтов на сервер.

Другие вопросы по тегам