上传图片asp.net MVC5

时间:2015-04-15 15:37:31

标签: c# asp.net asp.net-mvc-5

我有一个mvc 5应用程序,其中一个产品有一个或多个images.in在创建表单中,我想在保存之前上传产品的图像。

我正在尝试使用临时文件夹保存图像,保存产品后,我们将图像保存在数据库中,但我认为这不是最佳解决方案

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);
    }

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到,但有一句话引起了我的注意:

  

我想在保存之前上传产品图片

这对我来说意味着您应该使用AJAX上传图像。我在前面写的这篇文章中解释了如何做到这一点:http://davidsonsousa.net/en/post/how-to-upload-a-file-using-mvc-3-and-ajax

  

我们将图片保存在数据库中,但我认为这不是最好的解决方案

这取决于你想要什么。我通常将图像保存到App_Data,然后创建一个处理程序来获取它们。但是我会将它们保存到数据库中,没有任何问题,以防我因为项目限制而无法将它们保存在任何文件夹中。