Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:async';
- import 'dart:io' as Io;
- import 'package:image/image.dart';
- import 'package:flutter_cache_manager/flutter_cache_manager.dart';
- import 'package:path_provider/path_provider.dart';
- class SaveFile {
- Future<String> get _localPath async {
- final directory = await getApplicationDocumentsDirectory();
- return directory.path;
- }
- Future<Io.File> getImageFromNetwork(String url) async {
- var cacheManager = await CacheManager.getInstance();
- Io.File file = await cacheManager.getFile(url);
- return file;
- }
- Future<Io.File> saveImage(String url) async {
- final file = await getImageFromNetwork(url);
- //retrieve local path for device
- var path = await _localPath;
- Image image = decodeImage(file.readAsBytesSync());
- Image thumbnail = copyResize(image, 120);
- // Save the thumbnail as a PNG.
- return new Io.File('$path/${DateTime.now().toUtc().toIso8601String()}.png')
- ..writeAsBytesSync(encodePng(thumbnail));
- }
- }
Add Comment
Please, Sign In to add comment