flutter 上傳圖片 image_picker 的使用


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM