image - 将图像转换为 LIst 时出错飘飘然
问题描述
我正在尝试将转换后图像的文件类型转换为列表,但出现以下错误
for (int i = 0;i < widget.image.length;i++) {
var path = await FlutterAbsolutePath.getAbsolutePath(
widget.image[i].identifier);
print("path");
print(path);
File compressedFile =await FlutterNativeImage.compressImage(path,
quality: 90);
final List<Asset> image=compressedFile;
Navigator.push(context,MaterialPageRoute(builder: (context) =>
Share_Convert_Iamge(image: image)),
);
解决方案
因此,据我所知,您想创建一个图像列表。因此,如果我的假设是正确的,您应该执行以下操作:
final List<File> images = List<File>();
for (int i = 0; i < widget.image.length;i++) {
var path = await FlutterAbsolutePath.getAbsolutePath(widget.image[i].identifier);
print("path");
print(path);
File compressedFile = await FlutterNativeImage.compressImage(path, quality: 90);
images.add(compressedFile);
Navigator.push(context,MaterialPageRoute(builder: (context) =>
Share_Convert_Iamge(image: images)),
);
现在,我不完全理解你的问题。但是你做错了:变量“image”是“List”类型的,这意味着它包含一个“Asset”类型的对象列表。但是变量“compressedFile”的类型是“File”。现在,就像您不能将浮点值分配给整数类型的变量一样,例如:
// This will give you an error.
int x = 12.56;
// This will work.
float x = 12.56;
因此,错误只是类型不匹配的一种情况。
现在,如果要在某处显示图像,可以使用以下 Widget:
Image.file(file_variable)
在这里,file_variable 是“文件”类型。
推荐阅读
- angular - 更少的 CSS 导入在 Angular 7 中停止工作 - 如何修复它?
- python - 在递归调用期间附加列表项(最后我得到空列表)
- ios - 如何删除不再显示在 UIScrollView 中的内容
- python - 无法将命令绑定到按钮 Python 3.7
- vue.js - 如何像孩子一样设置vue-router嵌套路由
- java - 如何使用 Apache POI 刷新然后从数据透视表中读取数据?
- mysql - MySQL - 垂直连接查询结果
- amazon-ec2 - 仅限来自世界任何地方的公司员工访问
- vim - 在 Vim 中隐藏一些带有两个以上参数的乳胶命令
- regex - 正则表达式不匹配断句