在View中显示文件路径中的图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在View中显示文件路径中的图像相关的知识,希望对你有一定的参考价值。

如何从数据库中检索的位置显示图像?

我检索了一个位置列表(物理路径),并尝试了下面的方法,没有显示图像。我使用SQL来存储文件路径(例如c: 123.jpg“)。

@model FoodSnap.ViewModels.FoodSnapViewModel
@{
ViewBag.Title = "Create";
}

<h2>Daily Review</h2>

@using (html.BeginForm("Create", "FoodSnap"))
{   
    <div class="container">
        <div class="row">
            <div class="col-xs-2">
                <img src="@Html.Raw(Model.ImageLocations[0])" alt="Image1" />
                <img src="@Url.Content(Model.ImageLocations[0])" alt="Image2" />
                <img src="@Model.ImageLocations[0]" alt="Image3" />
               style="width:150px;height:150px" />
            </div>
        </div>
    </div>
}

我的控制器如下:

public ActionResult Create()
    {
        DateTime d1 = DateTime.Now.AddDays(-2);
        DateTime d2 = DateTime.Now.AddDays(1);

        string fd1 = d1.ToString("yyyy-MM-dd");
        string ld1 = d2.ToString("yyyy-MM-dd");

        DateTime StartDate = Convert.ToDateTime(fd1);
        DateTime EndDate = Convert.ToDateTime(ld1);           

        FoodSnapViewModel model = new FoodSnapViewModel
        {
           ImageLocations = new List<string>(from x in db.FoodType.OrderBy(x => x.fldTimeStamp).ToList() where x.fldUserId == User.Identity.GetUserId() && x.fldTimeStamp >= StartDate && x.fldTimeStamp < EndDate select x.fldImageId)
        };

        return View(model);          
    }

我当然将数据传递给View,但我无法使用路径显示图像。我没有使用字节流进入数据库,因为我不想用它来存储图像。

任何指针将不胜感激......

答案

我使用了@ADyson方法并使用了base64方法,它正在运行。

 public string GetImage(string file)
    {
        string imgPath = Server.MapPath("~/Content/UserImages/Originals/" + file);
        byte[] byteData = System.IO.File.ReadAllBytes(imgPath);
        string imreBase64Data = Convert.ToBase64String(byteData);
        string imgDataURL = string.Format("data:image/jpg;base64,{0}", imreBase64Data);

        return imgDataURL;
    }

以上是关于在View中显示文件路径中的图像的主要内容,如果未能解决你的问题,请参考以下文章

这是我插入数据库的图像。但它不会显示图像路径或文件夹中的图像?

ViewPager2 中未显示图像(片段重新打开时)

CakePHP:在 view.ctp 中显示图像

如何从片段中检索gridview中的图像?

React - 无法显示路径存储在 json 文件中的 svg 图像

如何将 View 类中的代码片段移动到 OnAppearing() 方法?