我正在尝试从区域的管理控制器在wwwroot中显示图像。当网络获取渲染时,标记src会像这样生成“ https://localhost:44362/admin/Upload/Product/Product-1/image-1.jpg”,但文件不在“https://localhost:44362/admin / UploadProduct / Product-1 / image-1.jpg”中。如何将网址更改为“ https://localhost:44362/Upload/Product/Product-1/image-1.jpg”。由于该网址带来了图片。因为,我正在使用管理路线
app.UseMvc(routes =>
{
routes.MapRoute(name: "areaRoute", template: "{area:exists}/{controller=Admin}/{action=Index}/{id?}");
routes.MapRoute(name: "Admin Default", template: "{area:exists}/{controller}/{action}/{id}");
routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");
});
该rul是通过www.abc.com/admin/XXXX/XXXX生成的。和img src =“ www.abc.com/admin/Uplaod/Product/images.png”实际上不存在。并且资源显示404错误。那么,如何从管理区域引用wwwroot映像?
我如何从管理区域引用wwwroot图像?
您可以参考以下代码段:
在控制器操作中
public IActionResult Index()
{
var model = new ProductViewModel
{
Img = "~/Upload/Product/Product-1/image-1.jpg",
};
return View(model);
}
查看模型类
public class ProductViewModel
{
public string Img { get; set; }
}
在视图页面中
@model ProductViewModel
@{
ViewData["Title"] = "Index";
}
<h1>Product Index</h1>
<img src="@Url.Content(Model.Img)" width="85" height="85" />
<hr />
<img src="~/Upload/Product/Product-1/image-1.jpg" width="85" height="85" />
测试结果