iT邦幫忙

2

IIS Virtual Directory ASP.NET MVC5設置

  • 分享至 

  • xImage
  •  

動機

看到之前同事寫的程式發現可能會有問題,原本的做法是把使用者上傳的圖片儲存在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,那感覺沒有錯啊

https://ithelp.ithome.com.tw/upload/images/20200504/20126774Mz5DziAPNS.png

解決方案

爬了很多文才找到解決方案,要在web.config中加入下面這段即可正常讀取,目前因為只有用到jpg,所以只有做.jpg的設定,暫時還沒有去研究多種圖片格式要如何設定

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

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言