【问题标题】:Loading image from storage从存储加载图像
【发布时间】:2021-03-16 10:21:19
【问题描述】:

我有一个使用 URLImage 类加载的图像。代码如下:

EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(getWidth()/2, getWidth()/2 , 0xF92D2D), true);
Image originImg = URLImage.createToStorage(placeholder, imgFileName, photo_url);

据我了解,这张图片正在使用createToStorage() 方法保存到存储中。但是,下次加载此表单时,我不想再次下载图像,我想从存储中获取它,因为它更快。 所以我做了什么,我添加了检查:

if (Storage.getInstance().exists(imgFileName)) {
        // Take the image from the Storage
    originImg = Image.createImage(Storage.getInstance().createInputStream(imgFileName));
} else {
        // Load the image with URLImage class.
}

但是,我的文件似乎从未保存到存储中。有什么问题?

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    您不需要这样做。 URLImage 如果文件已经存在,则从存储中无缝加载文件。您可以打开网络监视器,查看是否对该特定图像的 URL 进行了请求。

    我不确定Storage.getInstance().exists(imgFileName) 方法为什么会失败。我假设图像名称在不同的执行或类似的东西中是不同的。你可以看到图片是在你的.cn1目录中创建的。

    【讨论】:

    • 我相信它失败了,因为我再次调用连接请求,即使它返回相同的值,由于某些原因,存储不再识别该文件。 (例如,在我调用 request 之前,Storage 识别了文件,但在 request 之后它无法识别 - 即使文件名相同)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2019-09-22
    相关资源
    最近更新 更多