从管理区域asp.net core 2.2中从wwwroot引用图像文件

问题描述 投票:0回答:1

我正在尝试从区域的管理控制器在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映像?

File structure Screen shot

asp.net asp.net-core asp.net-core-mvc asp.net-core-2.0 asp.net-core-2.2
1个回答
0
投票

我如何从管理区域引用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" />

测试结果

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.