虎視眈々と

Flutter × Firebaseを研究するアプリエンジニア

Flutterで画像のダウンロード

f:id:superman199323:20181107095711j:plain

Flutterで画像のダウンロード

Flutterから画像をダウンロードする方法について書きます。 画像をダウンロードしたらそこからの保存処理はiOS、Android両方別々で実装する必要があります。

実装

Future<void> downLoadImage(String url, String filename) async {
    var request = await httpClient.getUrl(Uri.parse(url));
    var response = await request.close();
    var bytes = await consolidateHttpClientResponseBytes(response);
    String dir = (await getApplicationDocumentsDirectory()).path;
    File file = new File('$dir/$filename.png');
    await file.writeAsBytes(bytes);
    CreateGroupNative().saveImageUrl(file.path);
  }

この実装では CreateGroupNative() でネイティブ実装を呼び出すていますのでこのままコピペしたら動きません。

ネイティブ側に保存先のディレクトを渡すことで画像を保存することができます。