0

对不起这个问题。有很多信息,但不幸的是我还没有找到答案。请你帮助我好吗?我有一个主视图

详情查看:

@model Shops.ShopModel
......
@Html.Partial("_PictureViewer", Model.Picures)
......

在主视图中包括 PartialView

_PictureViewer 视图:

@model List<Model.PictureOriginalModel>
.....
@foreach (var p in Model)
{ 
  <img src='@new File(@p.Trunk, "image/jpeg");' alt='' />
}
.....

PictureOriginalModel.cs: 命名空间模型 {

  public class PictureOriginalModel
 {
    [DataType(DataType.Text)]
    [Display(Name = "File Name.")]
    public string FileName { get; set; }

    [Display(Name = "Trunk.")]
    public Image Trunk { get; set; }

    [DataType(DataType.Text)]
    [Display(Name = "Description.")]
    public string Description { get; set; }
  }
}

结果我有一个错误:错误CS1031:预期类型您能否说明如何正确显示图像?

4

4 回答 4

1

您可以执行以下操作,

public FileContentResult GetImage(...) 
{
  //do somethings
   return File(image, mimeType);
}

<img src="<%= Url.Action("GetImage", "PictureOriginalModel", new { Id = someId}) %>" />
于 2012-06-26T09:54:01.420 回答
1

您需要为返回图像类型响应创建操作

控制器代码

public class HomeController
{
    public ActionResult Image( int id )
    {
        var imageData = getImagebyte(); // your function to return image byte

        return File(imageData, "image/jpg");
    }
}

在你看来这个行动的呼吁

<img src='@Url.Action("Image","Home", new { id = 1 })' />
于 2012-06-26T09:58:50.207 回答
0

您需要创建返回图像的控制器操作,例如:

[HttpGet]
public ActionResult GetImage(long id, ...) 
{
  ...
   return File(fileBytes, "image/png");
}

在客户端代码中,只需设置正确的链接到您的控制器 GetImage 方法

于 2012-06-26T09:51:46.763 回答
0
[HttpGet]
public FileResult GetImage(int evaluatorId, int employeeId)
{
    byte[] imgByteArr = this._employeeManager.GetEmployeePhoto(employeeId);
    return imgByteArr != null ? File(imgByteArr, "image/png") : null;
}
于 2012-06-26T09:56:33.073 回答