gpt4 book ai didi

javascript - 从 JSON 属性加载 HTML img 元素的图像,而 URL 不能直接访问

转载 作者:行者123 更新时间:2023-11-30 13:14:12 27 4
gpt4 key购买 nike

好吧,这个解释起来比较复杂,这解释了冗长的标题:在我的 Objective C 应用程序中,我生成一个 JSON 字符串来保存我需要在 wikitude SDK 的 ARchitect 浏览器中绘制的对象的所有属性(据我所知,Wikitude SDK 仅处理 JSON)通过:

NSString *javaScript = [self convertPoiModelToJson:self.poiData.pois];
NSString *javaScriptToCall = [NSString stringWithFormat:@"newData('%@')", javaScript];

我感兴趣的一个特定对象作为字符串存储在该 JSON 字符串中,它是图像的 URL。但是,此图像位于我们网络服务器上的密码保护区后面,该应用程序会处理身份验证。

当我在 ARchitect 浏览器中时,问题就开始了,它基本上是一个 .html 文件,调用特定的 wikitude javascript 函数来构建增强现实世界并将其显示在应用程序的 UIWebView 中。当在作为基本 html div 容器的页脚弹出窗口中单击增强 View 中的 POI 时,我想显示该图像。所以现在我在网络服务器上有一个图像资源的 URL,我不能直接访问它

document.getElementById("thumb").src = jsonObject.thumbUrl;

因为需要身份验证,我成功加载该图像的唯一方法是通过 var poiImage = new AR.ImageResource(jsonObject[i].iconURL, {onError: errorLoadingImage});方法,但我只能在增强 View 中显示它,而不能在页脚中显示。

我尝试将网络中其他图像或本地资源的静态字符串提供给 View 页 footer 分中的 img 元素,没有出现这样的问题:document.getElementById("thumb").src="marker.png";它工作正常,图像也正确加载到增强 View 中。

我已经阅读了关于在 base64 中编码图像(我可以在应用程序的 objective-c 部分访问和下载)并将该字符串存储在附加的 JSON 属性中以将其加载到 html img 元素的 src 属性中一个<img src="data:image/png;base64,BASE&$_ENCODED_DATA"></img>但这对于我试图完成的事情来说似乎是一个非常肮脏且过于不切实际的解决方法/技巧。此外,我不知道开始阅读有关如何实现身份验证以访问网络服务器 protected 区域中的图像的更好主意,或者更确切地说,开始实现丑陋的 base64 编码或继续寻找替代方案是否更好。

我不是在寻求解决方案,而是在寻求建议,我还有哪些可能性可以访问该图像。由于我没有想法,任何帮助都将不胜感激。

谢谢!

简短摘要:

  • 在 objective-c 部分可访问和下载图像
  • 可以使用 wikitude SDK 的 AR.ImageResource 方法访问图像(但不是必需的)
  • 无法通过 javascript 的 url 直接访问图像,因为需要身份验证

(我希望我的问题是可以理解的,如果有什么不清楚的地方,请随时提问,特别是因为英语不是我的第一语言,用德语解释会更复杂..)

最佳答案

您是否尝试过在 Objective-C/Cocoa 中下载图像,将其本地存储在您的 iOS 设备上,并通过 JSON 将图像的本地路径传递到您的 Architect World?

然后您可以使用您的 AR.ImageResouce 和您的 div 容器加载本地镜像。

关于javascript - 从 JSON 属性加载 HTML img 元素的图像,而 URL 不能直接访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12731372/

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