flutter_photo_manager icon indicating copy to clipboard operation
flutter_photo_manager copied to clipboard

[BUG] 缩略图加载失败

Open zhangshuqi opened this issue 2 years ago • 15 comments

Describe the bug

image

Version information

  • Device: XIAOMI MIX 2S
  • OS: ANDROID 11
  • Package Version: 7.3.0
  • Flutter Version: 2.10.0

Additional context

zhangshuqi avatar May 13 '22 09:05 zhangshuqi

报错日志为 W/Glide (22224): class com.bumptech.glide.load.engine.GlideException: Failed to load resource W/Glide (22224): There were 5 causes: W/Glide (22224): java.io.FileNotFoundException(/storage/emulated/0/Pictures/recipe_details_65.jpg: open failed: ENOENT (No such file or directory)) W/Glide (22224): java.io.FileNotFoundException(open failed: ENOENT (No such file or directory)) W/Glide (22224): java.io.FileNotFoundException(open failed: ENOENT (No such file or directory)) W/Glide (22224): java.io.FileNotFoundException(open failed: ENOENT (No such file or directory)) W/Glide (22224): java.io.FileNotFoundException(open failed: ENOENT (No such file or directory))

zhangshuqi avatar May 13 '22 09:05 zhangshuqi

bug 描述 : demo中选择图片 有一张显示加载失败, 查询log后,发现是文件找不到了. 但是我不知道我为何会出现这类图片 期望: 是否可以考虑过滤掉该类图片? 我观察了微信,这张不存在的图没有显示在微信 .抱歉. 刚刚按照规范写了bug记录, 但是不知道为何被截图给覆盖了 我重新在评论区写

zhangshuqi avatar May 13 '22 09:05 zhangshuqi

我刚测试出来,小米的手机在文件管理器里面删除文件后,然后再使用demo选择图片 图片就会报错notfound file android抖音也有这个问题. 微信是过滤掉了.

zhangshuqi avatar May 13 '22 09:05 zhangshuqi

cc @CaiJingLong

AlexV525 avatar May 29 '22 08:05 AlexV525

Offline discussed with @MeandNi, who's voting for further investigations.

AlexV525 avatar May 31 '22 09:05 AlexV525

@zhangshuqi 没复现这个 bug,这边在文件管理器删除图片之后,进 demo 选择之后被删除的图片就不在了。

存在的 GlideException 应该是 com.android.fileexplorer 抛出的。

MeandNi avatar Jun 16 '22 08:06 MeandNi

@zhangshuqi 没复现这个 bug,这边在文件管理器删除图片之后,进 demo 选择之后被删除的图片就不在了。

存在的 GlideException 应该是 com.android.fileexplorer 抛出的。

小米手机系统的问题

zhangshuqi avatar Jun 16 '22 08:06 zhangshuqi

小米手机系统的问题

请提供录屏。

AlexV525 avatar Jun 23 '22 00:06 AlexV525

手机小米系统的问题

请提供录屏。

我重新复查了一下 步骤如下

  1. 使用摄像头拍摄照片
  2. 前往文件管理器删除该图片,图片选择器中报错加载失败

视频

https://user-images.githubusercontent.com/15172679/179443555-cdf02cc4-3d0b-400a-97c2-dc95dc399570.mp4

zhangshuqi avatar Jul 18 '22 04:07 zhangshuqi

抱歉 我在修改代码时,发现我的复现是错误的, 我重新描述如何复现 1.使用ImageGallerySaver将页面截图Uint8List对象 插入到相册 2.在手机文件管理器中将图片删除 3.重新打开图片选择器则可以复现.

备注: 如果从手机图库删除则不会出现此问题.

zhangshuqi avatar Jul 19 '22 02:07 zhangshuqi

1.使用ImageGallerySaver将页面截图Uint8List对象 插入到相册 2.在手机文件管理器中将图片删除 3.重新打开图片选择器则可以复现.

使用单个文件提供调用代码。

AlexV525 avatar Jul 20 '22 06:07 AlexV525

您好,您指的是 我需要提供调用assets_picker 的代码吗?

zhangshuqi avatar Jul 22 '22 03:07 zhangshuqi

I had a similar problem. You can select but not preview.my device is redmi k30 5G, os android 12. 我遇到了一个相似的问题。可以选择但不能预览。我的手机是红米k30 5g, 系统是安卓12.

flutter sdk is 3.0.5

https://user-images.githubusercontent.com/20561112/180943986-93c39e19-9199-4c08-9388-96570f0d2703.mp4

This bug occurs in mobile developer mode. 这个bug在手机开发者模式下会出现。

reamal avatar Jul 26 '22 07:07 reamal

i add AssetPickerConfig args previewThumbnailSize fix it. because i find AssetEntityImageProvider need previewThumbnailSize, but when i debug, size is null.

  const AssetEntityImageProvider(
    this.entity, {
    this.isOriginal = true,
    this.thumbnailSize = PMConstants.vDefaultGridThumbnailSize,
    this.thumbnailFormat = ThumbnailFormat.jpeg,
  }) : assert(
          isOriginal || thumbnailSize != null,
          "thumbSize must not be null when it's not original",
        );

reamal avatar Jul 26 '22 07:07 reamal

您好,您指的是 我需要提供调用assets_picker 的代码吗?

调用 saver 后调用选择器的最小复现代码。

建议使用 manager 的保存功能代替 saver。

AlexV525 avatar Aug 03 '22 08:08 AlexV525

遇到了类似的问题,也是小米的较早机型!

clycheng2015 avatar Sep 18 '22 08:09 clycheng2015

自 98ef9fd (2.2.0) 起,生成 entity 前已开始检查实际文件是否存在。

AlexV525 avatar Oct 10 '22 03:10 AlexV525