我将图像文件存储在 App_Data/img 文件夹中,并将每个图像文件的名称存储在数据库表中。我通过 Entity Framework 访问数据库。我最初的想法是从数据库获取图像文件的名称,创建图像路径字符串,然后将该字符串分配给元素的“src”属性。但它就是不起作用。没有显示任何内容。我已经考虑过各种建议,但没有一个对我有用。以下是最完善的,但也不起作用
<img src="~/App_Data/img/@Url.Content(Model.ImagePath)" height=100 width=200 />
在这里,波浪号似乎不起作用。因为在页面源代码中,我的路径呈现为书面形式,而不是我的应用程序根文件夹的相对路径。
1)如何解决该路径问题?为什么波形符不能帮助我指向我的根文件夹?
2)这是实现此类任务的好方法吗?据我搜索,很多人都在处理 base64 字符串的内容。使用静态/预定义的文件路径,base64 转换也对我有用。但是当我动态更改要显示的文件时,我无法处理 Base64 的内容。因此,我放弃了使用它。但是,我不确定这是否是一个好主意?
最佳答案
URL.Content(path)
用于按照 MVC @Url.Content vs @Url.Action 解析波浪号表达式。 。这不是一个好方法。 App_Data 文件无法由 ASP.NET 提供服务:https://stackoverflow.com/a/528872/4378740
假设 Model.ImagePath 类似于“cute_dog.png”,更好的方法是在根目录中创建一个 images
文件夹。然后你可以使用类似的东西:
<img src="/images/@(Model.ImagePath)" height=100 width=200 />
关于c# - 如何使用 ASP.NET MVC 5 在 View 中显示图像? (目前很多建议都失败了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47779204/