IIS Virtual Directory ASP.NET MVC5设置

动机

看到之前同事写的程式发现可能会有问题,原本的做法是把使用者上传的图片储存在IIS Website实体路径/Img,也就是说在正常部属的行为下(实体路径档案全部删除,将新的档案程式複製到目录下),可能会误删/Img目录而导致正在被使用中的图片都遗失,客户绝对是跳脚

研究

将档案储存路径移至外部(不与Website同目录),进而避免部属时误删情况发生。研究发现IIS Virtial Directory可能可以达成此需求,当然我也参考了大神们的教学,设定如下

http://jengting.blogspot.com/2016/06/IIS-File-Share.html

实作

按照上面教学的设定,在本机测试时发现问题,浏览器输入正确图片网址没有显示,马上F12 Network侦错一下,发现图片回传200 浏览器不抱错但无法预览(空白),response body也是空白,看起来是有读取到实际档案,但是无法进一步转出,因此不信邪的故意输入不存在的图片名称试试看,输入错误网址会报Error 404,那感觉没有错啊

http://img2.58codes.com/2024/20126774Mz5DziAPNS.png

解决方案

爬了很多文才找到解决方案,要在web.config中加入下面这段即可正常读取,目前因为只有用到jpg,所以只有做.jpg的设定,暂时还没有去研究多种图片格式要如何设定

<system.webServer>    <handlers>      <add name="ImageHandler" path="*.jpg" verb="*" preCondition="integratedMode" type="System.Web.StaticFileHandler"/>    </handlers></system.webServer>  

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章