Flutter save a network image to local directory

后端 未结 10 649
情歌与酒
情歌与酒 2020-12-24 08:52

In Flutter how to save an image from network to the local directory.

I am new to encoding and decoding images. Can anyone point me in the right direction?

10条回答
  •  Happy的楠姐
    2020-12-24 09:34

    If all you want is to save an image (example: a .png) to the device, you can easily achieve this with a simple get (http/http.dart) and a File (dart:io).

    To do so, you can base yourself in the example below:

        var response = await get(imgUrl);
        documentDirectory = await getApplicationDocumentsDirectory();
    
        File file = new File(
          join(documentDirectory.path, 'imagetest.png')
        );
    
        file.writeAsBytesSync(response.bodyBytes); // This is a sync operation on a real 
                                                   // app you'd probably prefer to use writeAsByte and handle its Future
    

    Note that in the case above I’ve used the ‘path_provider’ package from the dart pub. In overall you would have imported at least these items:

        import 'dart:io';
        import 'package:http/http.dart' show get;
        import 'package:path/path.dart';
        import 'package:path_provider/path_provider.dart';
    

提交回复
热议问题