asp.net-mvc - 即使我可以看到它在浏览器中进行检查,图像也不会显示
问题描述
我已经尝试了两个多小时,但我找不到这个问题的答案。我在MVC中强类型化的视图中有这部分代码:
<td>
@foreach (var TitleBook in Directory.GetFiles(Server.MapPath("~/App_Data/Images"), "*.jpg"))
{
var fileName = Path.GetFileName(TitleBook);
if (Convert.ToInt32(fileName.Substring(0,3)) == item.IdBook)
{
<img src="@TitleBook" alt="Alternate Text" height="100" width="100">
}
}
</td>
创建图像文件的名称,因此文件名中的前三个字符是数字。
当我运行代码时,我会在 hmtl 视图中获得图像的备用消息。但是,该图像的路径已被很好地阅读并且我知道它,因为我可以通过在浏览器中进行检查并仅在另一个窗口中调用 src 部分来获得它,该窗口按预期显示图像(对不起我的英语)。css 由安装在 VS2017 中的 boostrap 版本处理。有人可以在这里指出我的错误吗?
解决方案
你titleBook
是一个完整的物理路径。但<img>
想要一个网址。
未经测试:
<img src="~/App_Data/Images/@fileName" alt="Alternate Text" height="100" width="100">
顺便说一句:Directory.GetFiles(..., $"{item.IdBook:D3}*.jpg"))
你不需要 foreach 循环。
推荐阅读
- python - 如何连接或合并两个数据框
- uwp - 在 C++/WinRT 中捕获 ContentDialog::ShowAsync 引发的异常
- javascript - 从 Blob.text() 获取 Blob
- github - 如何在同一存储库中的 github 操作之间共享代码?
- javascript - 数组没有在地图方法中将对象推送到它
- shell - 使用 ffmpeg 在视频流上叠加图像
- java - 客户端无法将 HTTPS 与 WireMock 对话:javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
- angular - Angular Lazy Loading 再次加载相同的路线
- scala - Spark:如何将 Epoch 天数转换为 Date 对象
- wolframalpha - WolframAlpha 无法识别查询