gpt4 book ai didi

javascript - 为什么 Js 无法从我的 Web 服务目录加载图像文件?

转载 作者:行者123 更新时间:2023-11-28 23:27:34 25 4
gpt4 key购买 nike

我有一个域 www.foo.com 并希望在那里托管 JAX-RS/Maven/Jersey 网络服务。目前,我正在将 Java 代码打包到一个 .war 文件中,并将其部署在 Apache Tomcat 8.0 Web 服务器上,以便在我的本地计算机上进行测试。

/apache8/webapps/ROOT/index.html (localhost:8080/) 我有一个脚本标签,其中一个 XMLHttpRequest 对象向 localhost:8080/apiIndex/webapi/resource - 在我的 Web 服务目录中搜索包含 150 个左右图像的资源文件夹。这些图像的完整路径名返回到我的 Js 代码,并且 Js 代码尝试从中创建图像以绘制到 Canvas 上。

问题是,我收到一个网络错误,提示 Js 无法找到/加载图像。

如何将 index.html 文件从我的 Web 服务目录映射到我的域,以便当我将请求从我的域转发到我服务器的端口 8080 时,我可以从我的 Web 服务包中的代码访问这些图像?这是tomcat webapps文件夹中的Js代码无法从我的API的src/java/resources文件夹中加载图像的原因吗?

最佳答案

首先:/apache8/webapps/index.html 听起来不像是映射到 localhost:8080 的内容。我更希望将/(root)webapplication 部署在 /apache8/webapps/ROOT 下(以及该文件夹中的 index.html 文件)。

我假设您的带有图像的 Web 应用程序部署在/apache8/webapps/apiIndex 下。如果生成,正如您所说的图像的“完整路径名”,则无法找到:那些完整路径名是什么,您希望它们在哪里?您是否收到 404 错误代码或其他错误代码 - 例如 500?请张贴 URL 和您在文件夹中的预期位置。

(这是作为答案而不是评论发布的,因为我希望最初的描述能帮助您自己找到问题的根源,而第二部分实际上是在寻求更多信息)

编辑:根据您的评论:恕我直言,您的网络服务应该返回对图像的 http 或 https 引用,而不是文件引用。如果还有其他问题,您可能需要在它前面加上 file:///home/... 以便浏览器考虑获取它。但是,如果您的浏览器显示 http 文档,出于安全原因,它甚至可能不会跨越该域并嵌入本地文件资源:为什么任何网络服务器都会引用您本地磁盘上的资料?

将您的图像放在可以通过 http 引用它们的地方,问题应该得到解决。

关于javascript - 为什么 Js 无法从我的 Web 服务目录加载图像文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34959043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com