我正在尝试将存储在viewmodel中的图像从我的控制器传递到我的剃刀视图。两个[条形码]图像(System.Drawing.Image
)定义如下:
ShippingSummaryViewModel shippingSummaryVm = ShippingSummaryViewModel.ToShippingSummaryFromOrder(orders);
shippingSummaryVm.CustIdBarcode = CreateBarcode(shippingSummaryVm.customer_code);
shippingSummaryVm.SalesOrderBarcode = CreateBarcode(shippingSummaryVm.order_id);
在我看来,我希望能够使用<img>
标记来引用这些图像,但我不确定要为源设置什么,因为将src设置为等于@Model.CustIdBarcode
不会由于获得404资源未找到错误而导致工作。感谢所有帮助
编辑:在我的剃刀视图中,我使用<img src="@Model.SalesOrderBarcode"/>
和<img src="@Model.CustIdBarcode" />
来尝试显示图像。我的viewmodel中的这些字段如下所示:
public Image SalesOrderBarcode { get; set; }
public Image CustIdBarcode { get; set; }
以及渲染页面时出现的错误是:
GET http://localhost:63957/Orders/System.Drawing.Bitmap 404 (Not Found)
答案 0 :(得分:3)
HTML图像通常链接到服务器上的另一个请求,因此传递numpy.transpose(numpy.transpose(rect_array) * latcos)
不是最好的方法。现代浏览器可以使用内嵌图像(base64编码),但最好的办法是在控制器上创建一个可以链接到的不同操作:
System.Drawing.Image
然后在你看来,你有类似的东西:
public class MyController {
public ActionResult GetCustIdBarCode(Guid code) {
var img = CreateBarcode(code);
// I'm not sure if the using here will work or not. It might work
// to just remove the using block if you have issues.
using (var strm = new MemoryStream()) {
img.Save(strm, "image/png");
return File(strm, "image/png");
}
}
public ActionResult GetSalesBarcode(Guid salesId) {
// Similar to above method
}
}
答案 1 :(得分:1)
在你的视图中尝试这样
<img src= "@Url.Content(Model.ImagePath)" alt="Image" />
答案 2 :(得分:0)
请尝试以下语法:
POST