解决chrome报Not allowed to load local resource错误的方法

 

最近项目中遇到了关于图片的更改->保存->本地读取

在本地读取的环节上面出现了错误,一开始用的是直接本地路径,但是在页面上调试的出现了下面的错误,他的路径还是相对路径,下图所示:

Google的控制台也报错了,然后改成他所要的那个file文件,但是还是保错误:

之后问了相关的问题,这里也感谢  RosonJ 园友  一语让我醒悟了。。。

我也百度了下,说现在的浏览器为了安全考虑就是不允许直接访问了,但是可以弄个虚拟路径么。

因为我用的是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

 

 

以上就是解决方案,测试可用!如有不足谢谢指出

 

参考:http://blog.csdn.net/xiaomitang/article/details/52653308

 

posted @ 2016-11-21 14:03  大园子  阅读(174780)  评论(9编辑  收藏  举报