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 ответ
Кажется, вы еще не поняли барьер клиент / сервер. Пути от клиента не имеют смысла на сервере.
Так получилось, что ваш сайт работает на той же машине, что и клиент, потому что вы отлаживаете локально. Это просто совпадение, и оно позволяет вашему коду иногда работать (по совпадению).
Правильная загрузка файлов работает путем игнорирования пути и чтения из потока, предоставленного элементом управления загрузкой файлов. Загрузка файла - это просто поток байтов на сервер.