【问题标题】:Using ALAsset photo in UIWebView img tag在 UIWebView img 标签中使用 ALAsset 照片
【发布时间】: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>">

【问题讨论】:

    标签: ios uiwebview alassetslibrary alasset


    【解决方案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 的变体。
    • 嗨,你能不能分享一下这个插件。我需要实现同样的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 2021-08-03
    • 2012-07-19
    • 2014-12-10
    相关资源
    最近更新 更多