Github地址: https://github.com/flutter/plugins/tree/master/packages/image_picker
packages地址: https://pub.dev/packages/image_picker
1、將其添加到包的pubspec.yaml文件中:
image_picker: ^0.4.5
2、安裝
flutter pub get
3、導入
import 'package:image_picker/image_picker.dart';
4、上傳圖片的兩種方式
使用相機
var image = await ImagePicker.pickImage(source: ImageSource.camera);
使用圖庫
var image = await ImagePicker.pickImage(source: ImageSource.gallery);
5、上傳圖片
_openGallery() async {
var image = await ImagePicker.pickImage(source: ImageSource.gallery);
ShopPaperImgDao.uploadImg(image).then((res){
if(res['code'] == 200){
// 上傳成功
}else{}
}).catchError((e){
print(e.toString());
});
}
ShopPaperImgDao.uploadImg 的方法
import 'dart:async';
import 'dart:io';
import 'package:dio/dio.dart';
class ShopPaperImgDao {
// 上傳圖片
static Future uploadImg(imgfile) async{
String path = imgfile.path;
var name = path.substring(path.lastIndexOf("/") + 1, path.length);
FormData formData = new FormData.from({
"file": new UploadFileInfo(new File(path), name)
});
Response response;
Dio dio =new Dio();
response =await dio.post('后端接口',data: formData);
if(response.statusCode == 200){
return response.data;
}else{
throw Exception('后端接口異常');
}
}
}
6、結語
代碼里面的 path,name,formData 可自行 print 查看。這里就不一一講述了。
image_picker 自行查看 dart package 最新版本。
注意:
flutter pub get 之后可能需要重新 flutter run

