解決chrome報Not allowed to load local resource錯誤的方法(項目訪問本地磁盤圖片文件)

 

最近項目中遇到了關於圖片的更改->保存->本地讀取

在本地讀取的環節上面出現了錯誤,一開始用的是直接本地路徑,但是在頁面上調試的出現了下面的錯誤,他的路徑還是相對路徑,下圖所示:

Google的控制檯也報錯了,然後改成他所要的那個file文件,但是還是保錯誤:

 

 

我也百度了下,說現在的瀏覽器爲了安全考慮就是不允許直接訪問了,但是可以弄個虛擬路徑麼。

因爲我用的是jetty,所以解決方法就是在jetty的配置文件中配置一個虛擬路徑,在Jetty安裝目錄 > etc目錄 >jetty.xml修改下面的這段話

 1 <Set name="handler">
 2       <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
 3         <Set name="handlers">
 4          <Array type="org.eclipse.jetty.server.Handler">
 5            <Item>
 6              <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
 7            </Item>
 8            <Item>
 9              <New id="ContextHandler" class="org.eclipse.jetty.server.handler.ContextHandler">
10                  <Set name="contextPath">/images</Set>  
11                   <Set name="handler">  
12                     <New class="org.eclipse.jetty.server.handler.ResourceHandler">  
13                        <Set name="resourceBase">E:/jetty-distribution-9.3.7.v20160115/</Set>  
14                        <Set name="directoriesListed">true</Set>  
15                     </New>  
16                 </Set> 
17                </New>
18            </Item>
19            <Item>
20              <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
21            </Item>
22          </Array>
23         </Set>
24       </New>
25     </Set>

這樣一來就可以解決問題了,如果是Tomcat的話,可以參考下面的(我沒有驗證):

把文件存放路徑目錄映射到tomcat中,方法如下:

1、找到tomcat的配置文件(\conf\server.xml)並打開

2、在【host】與【/host】之間加入如下代碼:【<Context path="/file"      docBase="E:\test" debug="0" reloadable="true"/>】其中:【path】就是映射的路徑,【docBase】就是你的文件所在路徑 

3、調用方法:【E:\test】下有一張test.jpg的圖片 

  【img 標籤中的src改爲“/file/test.jpg”】

4、測試ok

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章