在 UIWebView img 标签中使用 ALAsset 照片
Posted
技术标签:
【中文标题】在 UIWebView img 标签中使用 ALAsset 照片【英文标题】:Using ALAsset photo in UIWebView img tag 【发布时间】:2012-10-13 17:16:32 【问题描述】:我能够成功地从 ALAssetsLibrary 中查找图像并在本机视图中使用 UIImage。
是否可以在 UIWevView 中使用相同资产的 url(例如:assets-library://asset/asset.JPG?id=88AA03C4-E53F-4FE2-9752-9DA675D1FAF7&ext=JPG
)作为 img 标签的来源?
<img src="<the asset>">
【问题讨论】:
【参考方案1】:您不能在 UIWebView 中使用此 URL,因为 URL 方案 assets-library:// 只有 AVFoundation(AVAsset) 和 AssetsLibrary 中的类才能理解。 要在 UIWebView 中显示 AssetsLibrary 中的图像,应该使用以下两种方法:
1) 在您的应用程序中实现一个小型网络服务器,让它为 AssetsLibrary 中的图像提供服务。所以在你的 UIWebView 中,你会像这样引用这些图像 然后,网络服务器将生成一个动态响应,返回来自 AssetsLibrary 的具有指定 ID 的资产的图像数据。
2) 另一种方法是在可可代码中完全生成 webPages,然后使用 loadhtmlString:baseURL:
方法设置 UIWebView 的内容。在生成的 HTML 代码中,您可以将 assets-library 中的图像嵌入为 Base64-Images/Data-URIs(请参阅此处以获取更多参考:Embedding Base64 Images)
哪种方法最适合您取决于具体情况。
【讨论】:
我正在使用 Cordova (PhoneGap) 并最终通过自定义插件的 javascript 调用将图像作为 base64 NSString 返回。所以 #2 的变体。 嗨,你能不能分享一下这个插件。我需要实现同样的事情。以上是关于在 UIWebView img 标签中使用 ALAsset 照片的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 UIWebView 的情况下在 iOS 10 中显示带有 HTML 标签的文本(使用 swift)
在 uiwebview 中使用本地 html 从相对路径加载资源
在 UIWebView 中使用 HTML 页面,相关页面图像出现奇怪问题,但链接有效