WebForm、MVC图片加载失败处理

2022-12-03,,,,

还是那个该死的WebFrom项目,部分功能替换为MVC后感觉好多了,但是WebForm、MVC都有图片加载失败时显示提示图片的需求,并且统一在js中处理。问题来了,js中图片路径怎么处理呢?现场有可能部署为网站,也有可能为应用,再加上对路径的不了解,决定弄个IHttpHandler一劳永逸解决路径问题。

搞定了IHttpHandler,发现图片还是显示不出来,日志中多了System.UnauthorizedAccessException: Access to the path 'xxxx' is denied.

不就是权限么太容易了,文件夹加上IIS AppPool\poolname用户,还不行,添加给IIS AppPool\poolname用户全部权限才能显示出来

仔细想想不是那么回事,再看看程序,问题在这里using (FileStream fs = new FileStream(context.Server.MapPath(path), FileMode.Open))

改为using (FileStream fs = new FileStream(context.Server.MapPath(path), FileMode.Open, FileAccess.Read)),再把文件夹IIS AppPool\poolname用户删除,一切正常

WebForm、MVC图片加载失败处理的相关教程结束。

《WebForm、MVC图片加载失败处理.doc》

下载本文的Word格式文档,以方便收藏与打印。