不允许加载本地资源

Posted

技术标签:

【中文标题】不允许加载本地资源【英文标题】:Not allowed to load local resource 【发布时间】:2012-08-18 16:47:04 【问题描述】:

用户将上传一个 index.html 文件和一些图片,这些图片将作为 HTML 电子邮件发送出去。我正在开发预览功能,所以他们可以在发送前检查。

在尝试访问上传的文件时,我在 Chrome 中遇到了“”错误。

我在 JBoss 7.1 上运行我的应用程序。目前我的服务器在我的笔记本电脑上本地运行,这可能是问题吗?

我曾尝试使用 JBoss 临时文件夹,但我得到了同样的错误。

我曾想过将文件临时复制到 WAR 存档中的一个文件夹中,但我无法找到执行此操作的方法。

是否有解决方法或解决方案?或者有没有办法在窗口中显示 MimeMultipart 对象?

【问题讨论】:

【参考方案1】:

如果您的页面是从网络服务器提供的,由于安全原因,您不能使用本地文件资源。

您应该上传您想要访问的网络服务器并使用页面的相对路径。

简而言之,您必须使用http:// 访问文件而不是file:///

【讨论】:

【参考方案2】:

使用 Jboss 8.1 Wildfly,我找到了解决此问题的替代方案。

向standalone.xml 添加一个额外的文件处理程序就可以了。

<server name="default-server">
    <http-listener name="default" socket-binding="http"/>
    <host name="default-host" alias="localhost">
        <location name="/" handler="welcome-content"/>
        <location name="/img" handler="images"/>
    </host>
</server>
<handlers>
    <file name="welcome-content" path="$jboss.home.dir/welcome-content" directory-listing="true"/>
    <file name="images" path="/var/images" directory-listing="true"/>
</handlers>

感谢hwellman对以下question的回复

【讨论】:

以上是关于不允许加载本地资源的主要内容,如果未能解决你的问题,请参考以下文章

Cordova:不允许加载本地资源:file:///

不允许加载本地资源

电子 - 不允许加载本地资源

不允许加载本地资源:blob:blobinternal:///

不允许加载本地资源:ionic 3 android

不允许在 chrome 上加载本地资源 - 错误,生产构建后 Angular 应用程序未运行