Guest User

Untitled

a guest
Dec 11th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. import 'dart:async';
  2. import 'dart:io' as Io;
  3. import 'package:image/image.dart';
  4.  
  5. import 'package:flutter_cache_manager/flutter_cache_manager.dart';
  6. import 'package:path_provider/path_provider.dart';
  7. class SaveFile {
  8.  
  9. Future<String> get _localPath async {
  10. final directory = await getApplicationDocumentsDirectory();
  11.  
  12. return directory.path;
  13. }
  14. Future<Io.File> getImageFromNetwork(String url) async {
  15.  
  16. var cacheManager = await CacheManager.getInstance();
  17. Io.File file = await cacheManager.getFile(url);
  18. return file;
  19. }
  20.  
  21. Future<Io.File> saveImage(String url) async {
  22.  
  23. final file = await getImageFromNetwork(url);
  24. //retrieve local path for device
  25. var path = await _localPath;
  26. Image image = decodeImage(file.readAsBytesSync());
  27.  
  28. Image thumbnail = copyResize(image, 120);
  29.  
  30. // Save the thumbnail as a PNG.
  31. return new Io.File('$path/${DateTime.now().toUtc().toIso8601String()}.png')
  32. ..writeAsBytesSync(encodePng(thumbnail));
  33. }
  34. }
Add Comment
Please, Sign In to add comment