vlambda博客
学习文章列表

选择美女-flutter image_picker插件更新

哪有那么多美女可以选择(王思聪例外),我们普通的程序猿还是老老实实码点代码实在。


咱们这里要讨论的是flutter视频选择插件。这才几天没用image_picker,然后就又更新了:


image_picker: ^0.6.7+1


已经0.6.7了,不要等我写完这篇文章,就又立马更新了(算了,我还是赶紧发文吧)!


为什么要讨论下这个插件呢,原因也是有滴,给你看下前几天的写法:


 File file = await ImagePicker.pickVideo( source: ImageSource.camera, maxDuration: const Duration(seconds: 10)); print(file);


简单吧(啥?不懂,不懂加群:174353204,保证让你懂,不懂我赔钱)。


今天的写法就不一样了:


 PickedFile pickedFile = await ImagePicker().getVideo(source: ImageSource.camera, maxDuration: const Duration(seconds: 10)); print(pickedFile);


区别在哪里,没有区别吗?一个返回值是File,一个是PickedFile,这个就是区别:


好了,调试下,对比看看里面都是些什么内容:



选择美女-flutter image_picker插件更新


原来的使用方法里面返回值包含绝对路径absolutePath和uri等,新的使用方法就只有path路径这一项了。


作者为什么这么做?疯了?我要用的是更全的返回值。


别急!


打开PickedFile看看:


class PickedFile extends PickedFileBase { /// Construct a PickedFile object, from its `bytes`. /// /// Optionally, you may pass a `path`. See caveats in [PickedFileBase.path]. PickedFile(String path) : super(path) { throw UnimplementedError( 'PickedFile is not available in your current platform.'); }}


继承自PickedFileBase,再打开PickedFileBase看看:

选择美女-flutter image_picker插件更新


里面自带了readAsString,readAsBytes,openRead,原来作者帮我们实现了读取的方法,好了,如果是图片的话,我们直接调用readAsBytes,然后转base64,传给后台,是不是给你节省了两步。



关注「动哒」

让你每天进步一点点