Можно ли получить полное имя загруженного файла в asp.net mvc?
ОБНОВЛЕНИЕ Данные содержат только имя файла, но не путь к файлу! Подробности смотрите на прикрепленном изображении.
1 ответ
Это зависит от браузера.
Большинство браузеров (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 ...
}
Похожие вопросы
Связанные вопросы
Новые вопросы
asp.net
ASP.NET - это среда разработки веб-приложений Microsoft, которая позволяет программистам создавать динамические веб-сайты, веб-приложения и веб-службы. Полезно использовать этот тег в сочетании с тегом типа проекта, например, [asp.net-mvc], [asp.net-webforms] или [asp.net-web-api]. НЕ используйте этот тег для вопросов о ASP.NET Core - используйте вместо этого [asp.net-core].