2015-04-15 2 views
0

У меня есть приложение mvc 5, в котором у продукта есть одно или много изображений. В форме создания я хочу загрузить изображения для продукта, прежде чем сохранять его.Загрузить изображения asp.net MVC5

Я пытаюсь использовать временную папку для сохранения изображений и, как только продукт сохраняется, мы сохранять изображения в базе данных, но я не думаю, что это лучшее решение

public ActionResult ProductPictureAdd(int pictureId, int productId) 
    { 
     if (pictureId == 0) 
      throw new ArgumentException(); 

     var product = _productService.GetById(productId); 
     if (product == null) 
      throw new ArgumentException("No product found with the specified id"); 


     if (_workContext.CurrentUser != null && product.UserId != _workContext.CurrentUser.ID) 
      return RedirectToAction("List"); 

     _productService.InsertProductPicture(new ProductPicture 
     { 
      PictureId = pictureId, 
      ProductId = productId, 
      CreatedOnUtc = DateTime.UtcNow, 
      UpdatedOnUtc = DateTime.UtcNow 
     }); 



     return Json(new { Result = true }, JsonRequestBehavior.AllowGet); 
    } 
+2

И ваш вопрос? – CalebB

+0

Я ищу лучшее решение –

+0

@CalebB просит вас быть более подробным в описании вашей проблемы (исходный код поможет) и быть более конкретным в том, с какой проблемой вы сталкиваетесь. – Pseudonym

ответ

1

Есть пару из способов сделать это, но одно предложение привлекло мое внимание:

я хочу, чтобы загрузить изображения для продукта, прежде чем сохранить его

Это означает, что для меня, что вы Shou ld использовать AJAX для загрузки изображений. Я объясню, как это сделать в этой статье я написал некоторое время назад: http://davidsonsousa.net/en/post/how-to-upload-a-file-using-mvc-3-and-ajax

мы сохранять изображения в базе данных, но я не думаю, что это лучшее решение

Это зависит от того, что именно вы хотеть. Обычно я сохраняю изображения в App_Data, а затем создаю обработчик для их получения. Но я бы сохранил их в базе данных без каких-либо проблем, если бы я не смог их сохранить в любой папке из-за ограничений проекта.

Смежные вопросы