【问题标题】:How to save images from Multi Image Picker keeping it's original metadata/exif content in Flutter?如何从 Multi Image Picker 保存图像,在 Flutter 中保留其原始元数据/exif 内容?
【发布时间】:2021-06-23 23:45:30
【问题描述】:

该包从女巫返回一个Asset 对象我可以从图像中提取metadata/exifbyteData,但是我很难找到一种方法来编写一个包含图像的新文件原创metadata/exif内容。

这是我已经尝试过的:

  • byteData 写入新文件会给我一个带有空metadata/exif 的图像文件。
  • 尝试使用来自Asset 对象的identifier 参数获取图像的绝对路径只会给我一个缓存图像的路径,其中metadata/exif 为空。
  • 找不到允许我将metadata/exif 写入新文件的包。我找到的所有库都只允许我读取元数据。
  • 尝试使用 file_picker 包,但遗憾的是它不符合我的需求,因为我需要对选择器 UI 进行更多控制。

【问题讨论】:

    标签: image flutter dart image-processing


    【解决方案1】:
    try {
      resultList = await MultiImagePicker.pickImages(
        maxImages: 7,
        enableCamera: true,
        selectedAssets: images,
        cupertinoOptions: CupertinoOptions(takePhotoIcon: "chat"),
        materialOptions: MaterialOptions(
          actionBarColor: "#C40E3D",
          actionBarTitle: "My App",
          allViewTitle: "All Photos",
          useDetailsView: false,
          selectCircleStrokeColor: "#FFFFFF",
        ),
      );
    } on Exception catch (e) {
      error = e.toString();
    }
    
    var imageList = resultList;
    
    for (int i =0; i < imageList.length; i++)
    var filepicker =
            await FlutterAbsolutePath.getAbsolutePath(imageList[i].identifier);
    

    你可以这样展示

    image.file(File(filepicker[0])),
    

    【讨论】:

    • 感谢您的回答!但我已经试过了。这是我在问题上尝试的第二项。此方法为我提供了带有空 metadata/exif 的缓存图像的路径
    猜你喜欢
    • 1970-01-01
    • 2020-06-26
    • 2020-01-11
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    相关资源
    最近更新 更多