如何使用 ASP.NET MVC 5 在视图中显示图像? (目前很多建议都失败了)
How to show an image in a View with ASP.NET MVC 5? (Many suggestions failed so far)
我将图像文件存储在我的 App_Data/img 文件夹中,并将每个图像文件的名称存储在我的数据库 table 中。我通过 Entity Framework 访问数据库。我最初的想法是从数据库中获取图像文件的名称,创建图像路径字符串,然后将该字符串分配给元素的 "src" 属性。但它就是行不通。没有显示。我已经阅读了各种建议,但 none 对我有用。下面这个是最精致的,但是也没用
<img src="~/App_Data/img/@Url.Content(Model.ImagePath)" height=100 width=200 />
在这里,波浪号似乎不起作用。因为在页面源代码中,我的路径呈现为写入而不是我应用程序根文件夹的相对路径。
1) 如何解决该路径问题?为什么波浪号不能帮助我指向我的根文件夹?
2) 这是执行此类任务的好方法吗?据我搜索,很多人都在处理 base64 字符串的问题。使用静态/预定义文件路径,base64 转换也适用于我。但是当我动态更改要显示的文件时,我无法处理 base64 的东西。因此,我放弃了使用它。但是,我不确定这是不是个好主意?
App_Data
文件夹是一个特殊文件夹,您不能直接从那里提供图像。将它们移动到另一个文件夹,例如 /images
,它将起作用(当然前提是您提供正确的路径。)
URL.Content(path)
用于根据 MVC @Url.Content vs @Url.Action 解析波浪号表达式。
这不是个好办法。 App_Data 个文件无法由 ASP.NET 提供:
假设Model.ImagePath
类似于"cute_dog.png",更好的方法是在根目录中创建一个images
文件夹。然后你可以使用类似的东西:
<img src="/images/@(Model.ImagePath)" height=100 width=200 />
您是否保存包含扩展名(MIME 类型)的图像名称?您可以在页面打开时浏览源代码并找到 img 标签的 src 属性值吗?它后面应该跟正确的扩展名。
你为什么不只使用 Model.ImagePath 比如:
src="/app_data/img/@Model.ImagePath"
我将图像文件存储在我的 App_Data/img 文件夹中,并将每个图像文件的名称存储在我的数据库 table 中。我通过 Entity Framework 访问数据库。我最初的想法是从数据库中获取图像文件的名称,创建图像路径字符串,然后将该字符串分配给元素的 "src" 属性。但它就是行不通。没有显示。我已经阅读了各种建议,但 none 对我有用。下面这个是最精致的,但是也没用
<img src="~/App_Data/img/@Url.Content(Model.ImagePath)" height=100 width=200 />
在这里,波浪号似乎不起作用。因为在页面源代码中,我的路径呈现为写入而不是我应用程序根文件夹的相对路径。
1) 如何解决该路径问题?为什么波浪号不能帮助我指向我的根文件夹?
2) 这是执行此类任务的好方法吗?据我搜索,很多人都在处理 base64 字符串的问题。使用静态/预定义文件路径,base64 转换也适用于我。但是当我动态更改要显示的文件时,我无法处理 base64 的东西。因此,我放弃了使用它。但是,我不确定这是不是个好主意?
App_Data
文件夹是一个特殊文件夹,您不能直接从那里提供图像。将它们移动到另一个文件夹,例如 /images
,它将起作用(当然前提是您提供正确的路径。)
URL.Content(path)
用于根据 MVC @Url.Content vs @Url.Action 解析波浪号表达式。这不是个好办法。 App_Data 个文件无法由 ASP.NET 提供:
假设Model.ImagePath
类似于"cute_dog.png",更好的方法是在根目录中创建一个images
文件夹。然后你可以使用类似的东西:
<img src="/images/@(Model.ImagePath)" height=100 width=200 />
您是否保存包含扩展名(MIME 类型)的图像名称?您可以在页面打开时浏览源代码并找到 img 标签的 src 属性值吗?它后面应该跟正确的扩展名。
你为什么不只使用 Model.ImagePath 比如:
src="/app_data/img/@Model.ImagePath"