Загрузить изображение / файл в asp.net MVC 2 - PullRequest
1 голос
/ 07 сентября 2010

Как создать среду для выбора файла изображения и загрузки его в asp.net MVC 2?Какой код мне нужно написать для этого?

Какой сценарий лучше из:

Сохранить изображение в базе данных или сохранить копию изображения в файловой системе в домене приложения и сохранить его путь в БД?какой код должен написать в asp.net MVC 2 для предпочтительного сценария?

Ответы [ 3 ]

2 голосов
/ 07 сентября 2010

Вы можете попробовать эту ссылку
http://weblogs.asp.net/imranbaloch/archive/2010/04/03/image-preview-in-asp-net-mvc.aspx
к ней прикреплен пример проекта.Если у вас есть большое количество изображений, вы можете хранить их в файловой системе.Я думаю, что это ваше решение в зависимости от вашего сценария

1 голос
/ 07 сентября 2010

Вот почти нулевое решение для хранения файлов в базе данных

http://sfvt.wordpress.com/2010/09/07/asp-net-tutorial-detailsview-insert-imag-binary-database/

Наслаждайтесь

1 голос
/ 07 сентября 2010

HTML-код

file to upload: <input type="file" name="Photo" id="Photo" />

C #

  public ActionResult Imageupload(MyObject myObject )
        {
            //PhotoForSingleItem is just a class that has properties
            // Name and Alternate text.  I use strongly typed Views and Actions
            //  because I'm not a fan of using string to get the posted data from the
            //  FormCollection.  That just seems ugly and unreliable to me.

            //PhotoViewImage is just a Entity framework class that has
            // String Name, String AlternateText, Byte[] ActualImage,
            //  and String ContentType

            HttpPostedFileBase file = Request.Files["Photo"];
            //newImage.Name = photo.Name;
            //  newImage.Alt = photo.AlternateText;

            //Here's where the ContentType column comes in handy.  By saving
            //  this to the database, it makes it infinitely easier to get it back
            //  later when trying to show the image.
            //patient.photo = file.ContentType;

            Int32 length = file.ContentLength;
            //This may seem odd, but the fun part is that if
            //  I didn't have a temp image to read into, I would
            //  get memory issues for some reason.  Something to do
            //  with reading straight into the object's ActualImage property.

            try
            {
                if (length != 0)
                {
                    if ((file.ContentType == "image/pjpeg") || (file.ContentType == "image/gif") || (file.ContentType == "image/x-png"))
                    {
                        byte[] tempImage = new byte[length];


                        file.InputStream.Read(tempImage, 0, length);




                        localRepository.SaveOrUpdate(myObject);// you can insert through sql commands. 
}
catch(Exception ex){

}
      return View()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...