我添加了将图像上传到我的 ASP.net mvc 应用程序的功能。基本上,用户选择一个图像并将其上传到我在解决方案文件夹结构中创建的图像文件夹中。这很好用,图像上传到图像文件夹。
我现在的问题是将图像显示回浏览器。我的问题是如何更改 Asp.net 开发服务器 (localHost:blah blah) 的目录浏览属性,以便图像目录,即http://localHost:9823/Images/UploadedImageName.jpg显示在浏览器中?
提前致谢
我添加了将图像上传到我的 ASP.net mvc 应用程序的功能。基本上,用户选择一个图像并将其上传到我在解决方案文件夹结构中创建的图像文件夹中。这很好用,图像上传到图像文件夹。
我现在的问题是将图像显示回浏览器。我的问题是如何更改 Asp.net 开发服务器 (localHost:blah blah) 的目录浏览属性,以便图像目录,即http://localHost:9823/Images/UploadedImageName.jpg显示在浏览器中?
提前致谢
我使用过的几个选项。每种风格的优缺点!
在视图中
您可以将视图配置为使用此样式:
<img src="<%=ResolveUrl("~/Images/foo.png")" %> />
这可以通过几种方式重构。也许是一种扩展方法,或者是您的视图背后的代码。
控制器方法+路由
创建一个新的控制器来提供图像。确保您有一条默认路由。
public class Images
{
public FileResult GetImage(string fileName) //foo.png
{
string fullPath = "~/Images/" + fileName;
return base.File(fullPath, "image/jpeg");
}
}
...
routes.MapRoute("UserImage",
"Image/{filename}",
new { controller = "Images", action = "GetImage",
fileName=filename });