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

Nae*_*eem 5 dart flutter

我正在使用这个包从图库中获取多个图像,它返回一个资源列表,现在我想将其发送到服务器,我使用 FormDate 但需要图像路径。

  1. 还有其他方法可以将资产图像发送到服务器吗?

  2. 如何转换List<Asset>List<File>.

  3. 如何从Asset中获取图像路径

或任何其他方法来完成此任务(从存储中选择多个图像并将它们发送到服务器)。

List<Asset> images = List<Asset>();

FormData imageFormData = FormData.fromMap({
  "files": images.map((image) async {
     return await MultipartFile.fromFile('assets/${image.name}', filename: image.name);
     }).toList(),
});
Run Code Online (Sandbox Code Playgroud)

小智 3

这是解决方案。

List<Asset> images = List<Asset>();
List<MultipartFile> multipart = List<MultipartFile>();
for (int i = 0; i < images.length; i++) {
  var path = await FlutterAbsolutePath.getAbsolutePath(images[i].identifier);
  multipart.add(await MultipartFile.fromFile(path, filename: 'myfile.jpg'));
}
FormData imageFormData = FormData.fromMap({"files": multipart,});
Run Code Online (Sandbox Code Playgroud)