【问题标题】:MVC - I'm having trouble with displaying images from databaseMVC - 我在显示数据库中的图像时遇到问题
【发布时间】:2013-11-20 10:24:07
【问题描述】:

我需要在我的站点中显示数据库中的图像,但它不需要。

我有这样的结果:My web-site

我已经在这里尝试了所有其他 stackoverflow 帮助主题,但没有一个对我有用。

我按照 Steven Sanderson 的“Pro ASP.NET MVC 框架”(第 256-262 页)中的说明进行操作,但它无法正常工作。

我的班级:

[HttpPost]
    public ActionResult Edit(Product product, HttpPostedFileBase image)
    {
        if (ModelState.IsValid)
        {
            if (image != null)
            {
                product.ImageMimeType = image.ContentType;
                product.ImageData = new byte[image.ContentLength];
                image.InputStream.Read(product.ImageData,0,image.ContentLength);
            }
            repository.SaveProduct(product);
            TempData["message"] = string.Format("{0} has been saved", product.Name);
            return RedirectToAction("Index");
        }      
            return View(product);    
    }

我的操作方法:

public FileContentResult GetImage(int productId)
    {
        Product prod = repository.Products.FirstOrDefault(p => p.ProductID == productId);
        if (prod != null)
        {
            return File(prod.ImageData, prod.ImageMimeType);
        }
        else
        {
            return null;
        }
    }

我的看法:

查看:

@model SportsStore.WebUI.Domain.Entities.Product

@using(Html.BeginForm("Edit","Admin",FormMethod.Post, new { enctype = "multipart/form-data" }))

{

  @Html.EditorForModel()

    <div class="editor-label">Image</div>
    <div class="editor-field">
    @if (Model.ImageData == null)
    {
        @:None 
    }
    else
    {
        <img width="150" height="150" scr="@Url.Action("GetImage", "Product", new {Model.ProductID })"/>
    }
      <div>Upload new image: <input type="file" name="Image" /></div>
</div>
<input type="submit" value="save"/>
@Html.ActionLink("Cancle and return to List","Index") 

}

【问题讨论】:

  • GetImage 返回 File 而不是文件的 url。 src 接受文件的 URL。
  • @Liam: 作为图片的来源应该是调用动作方法GetImage的结果
  • 首先,您拥有属性scr 而不是src。其次,您试图将二进制文件放在您认为需要 URL 的位置,就像 Liam 所说的那样。
  • @Amy OMG,我必须更加专心。我将 scr 更改为 src,它现在可以工作了。谢谢!!!
  • 哦,酷。那么,我会将其作为答案提交。

标签: asp.net-mvc


【解决方案1】:

您拥有属性scr 而不是src

【讨论】:

    猜你喜欢
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 2011-01-27
    相关资源
    最近更新 更多