我添加了将图像上传到我的ASP.net mvc应用程序的功能。基本上用户选择一个图像,我将其上传到我在我的解决方案文件夹结构中创建的Images文件夹。这很好用,图像上传到images文件夹。
我遇到的问题现在是将图像显示回浏览器。我的问题是如何更改Asp.net开发服务器的目录浏览属性(localHost:blah blah),以便图像目录即http://localHost:9823/Images/UploadedImageName.jpg显示在浏览器中?
提前致谢
答案 0 :(得分:2)
我用过的几个选项。每种风格的利弊!
在视图中
您可以将视图配置为使用此样式:
<img src="<%=ResolveUrl("~/Images/foo.png")" %> />
这可以通过几种方式进行重构。也许是扩展方法,或代码隐藏在您的视图中。
控制器方法+路线
创建一个新的Controller来提供图像。确保您有一条默认路线。
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 });