Flutter加載base64的圖片

在實際項目開發(fā)中,個人中心模塊經(jīng)常會遇到上傳頭像,并顯示用戶頭像的需求.在此分享一個整個的流程.
第一步:圖片上傳

圖片上傳使用的image_picker: ^0.8.5+3這個插件
具體代碼如下

  final ImagePicker _imagePicker = ImagePicker();

  openPicker(bool state) async {
    final XFile? pickedFile = await _imagePicker.pickImage(
        source: state == true ? ImageSource.camera : ImageSource.gallery,
        maxWidth: 200,
        maxHeight: 200,
        imageQuality: 100);
    /// 上傳服務(wù)器
    updateImage(pickedFile!);
  }
  Future<void> uploadImage(XFile pickedFile) async {
    var file = File(pickedFile.path);
    Uint8List imageBytes = await file.readAsBytes();
    String base64 = base64Encode(imageBytes);
    }
第二步:顯示圖片

上一步上傳給服務(wù)器是是一個base64的字符串,所以服務(wù)端返回的也是一個圖片的base64字符串.格式如下"iVBORw0KGgoAAAANSUhEUgAAAEYAAAAjCAIAAACmdes6AAACP0lEQVR4Xu2W0U3EQAxETxSA+OMnFdAL30AV1EUproB2SGJwhpldZ7MJEBDSfCT22Ot3vj3dxV5f/pguGvrt+kf6Mg2P9xrs01mQbKY6BOxESK79YKdDcu0BOwype4JEfT1PjWRd6zo7kmsTWCvSzfXzKAo+PdyFxiPxVW2X26ui0KlZ9DSC7UJyIZJmyaaDqnLPKlgTkvPUkGweN7akWTd4Kpk1lHgCJqFaR3KSHMnmM3Ikf0jGDSUeJKmt63gkpcJgMm4o8SiDgq0gBcYmJKSi12TcRo9SeTDiGVIweEGO5DZC0qWNg+rnSgokdPqzCgv9tYpEaxmfa41CHsddEY9VxtU+dBZFsFBTGRK9YqTW3T4jUU+TLxV1QE/xiCjRqqVcQyY8HtGgS89uQUJ5bTGoo+txfISGiqMnSCE8bKj8psfEtfLw1Ob+biSDFRXPTpCiyTBvTGvJU0yZIsXcVNaIhJvBS4V4OZLBr2Jt7iQ1leOLz03C7hHURvaBhBG9VKvjuie31eLv5fiiPAme9kqQIk5fvGIrvUtkS2aYyjVUlC4H8RymeAZRrd6l8OjcRFg8bip3hyZIioSi26LZQ5BctfhSHj7NoRKkGDeaIN7w+b/ffiTsr6mpPEyaQ21CIiFeICVUhERtMYjZeFjuUm0glyLhZ+/SDrofxUM/AqMNq9zpDxhf/NgxCvq0tZxGqWW10LMa9PhPIpEIrw/J9Ec8sbZoZ3mI8FS1uJ0Wyda25AYNmiIl1hbtqSV1I70B+dAU/4dAw64AAAAASUVORK5C"
展示base64圖片代碼如下:

Image.memory(
  base64Decode(base64字符串),
  //防止重繪
  gaplessPlayback: true,
  width: 100,
  height: 100,
  fit: BoxFit.cover,
 ),

注意點:

一定要加上gaplessPlayback : true這行代碼,不然的話,在界面刷新操作時會有圖片閃動的bug.

Flutter TabBar 在實際項目中的運用: 項目地址
Flutter timer的使用: 項目地址
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容