如何在颤动中将 List<File> 转换为 List<Asset>

Posted

技术标签:

【中文标题】如何在颤动中将 List<File> 转换为 List<Asset>【英文标题】:HOW to convert List<File> into List<Asset> in flutter 【发布时间】:2020-10-09 04:51:13 【问题描述】:

我正在使用多个图像选择器从图库中获取多个图像,它返回一个资产列表, 我已经通过使用资产路径成功将该图像转换为文件列表作为列表。

resultList = await MultiImagePicker.pickImages(
    maxImages: 5,
    enableCamera: false,
  );

file.add(asset.identifier);

var path = await FlutterAbsolutePath.getAbsolutePath(resultList[i].identifier);
                _pathofimages.add(File(path));

但我不需要再次编辑它,因为我也实现了裁剪功能...... 所以在那种情况下我需要扭转这个过程

喜欢 使用文件路径在列表中添加资产

【问题讨论】:

【参考方案1】:

我做了一个转换器功能。 你会尝试使用它吗?

uuid:^2.1.0

import 'package:path/path.dart';
import 'package:uuid/uuid.dart';

...

  Future<Asset> fileToAsset(File image) async 
    String fileName = basename(image.path);
    var decodedImage = await decodeImageFromList(image.readAsBytesSync());
    return Asset(uuid.v4(), fileName, decodedImage.width, decodedImage.height);
  

【讨论】:

此资产是否保存到本地磁盘?当我下次恢复申请时,我可以再次检索此资产吗?

以上是关于如何在颤动中将 List<File> 转换为 List<Asset>的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤动中将 json 数据转换为 List<widgets>?

如何在颤动中将 List<String> 转换为 String [重复]

如何在颤动中将 Map<String, List<object>> 保存在 sharedPreferences 中?

如何在颤动中将对象编码为 Json

如何在颤动的Listview中显示字符串列表

如何在颤动中将格式从列表视图更改为网格视图?