Asp.net mvc - получить полное имя загруженного файла - PullRequest
2 голосов
/ 02 ноября 2011

Можно ли получить полное имя загруженного файла в asp.net mvc?! [Введите описание изображения здесь]

ОБНОВЛЕНИЕ Данные содержат только имя файла, но непуть к файлу!Подробнее см. attach .

1 Ответ

8 голосов
/ 02 ноября 2011

Это зависит от браузера.
Большинство браузеров (FF, Chrome, Safari) не отправляют эту информацию, в основном, из соображений безопасности.Однако создается впечатление, что некоторые версии IE отправляют полный путь клиента.
Это значение будет храниться в свойстве FileName HttpPostedFile.

Должна помочь документация для FileName. В нем говорится:

FileName: имя файла клиента, включая путь к каталогу.

В следующем коде postedFile.FileName зависит от браузера.Поэтому важно всегда извлекать только имя файла, и вам также может повезти и вы получите clientPath.

public ActionResult UploadFile(HttpPostedFile postedFile) {
    var clientPath = IO.Path.GetDirectoryName(postedFile.FileName);
    var filename = IO.Path.GetFileName(postedFile.FileName);
    ... Save the file, etc ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...