asp.net mvc и FileName из WebImage - PullRequest
       2

asp.net mvc и FileName из WebImage

0 голосов
/ 11 марта 2011

Я пытался получить имя файла из загруженного файла с помощью WebImage, например:

var imageName = new WebImage(file.InputStream).FileName;

, но свойство FileName всегда возвращает нуль

, может быть, я что-то упустил?

Ответы [ 4 ]

2 голосов
/ 09 августа 2014

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

var imageName = new WebImage(file.InputStream).FileName;

.. будет

var image = WebImage.GetImageFromRequest().FileName;

Это свойство для изображения, которое было загружено в запросе.

1 голос
/ 11 марта 2011

Когда вы пишете new WebImage(file.InputStream), вы создаете объект WebImage из необработанного потока.
Вы никогда не передаете ему ничего с именем, поэтому свойство FileName имеет значение null.

Вы должны использовать свойство file.FileName из объекта HttpPostedFile.

1 голос
/ 11 марта 2011

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

Но вы, вероятно, можете получить имя файла, используя

var fileName = Request.Files[0].FileName;

Это только этот конструктор, который устанавливает свойство имени файла:

public WebImage(string filePath) 
   : this(new HttpContextWrapper(HttpContext.Current), filePath) {}

и, конечно, частный, который он использует.

1 голос
/ 11 марта 2011

Я думаю, что свойство FileName устанавливается только при использовании конструктора WebImage(String filename).Вы должны быть в состоянии получить имя файла из file объекта.Другие свойства, такие как Height, Width и т. Д., Должны нормально работать.

...