kodi flutter më poshtë kujdeset për rikuperimin e një imazhi nga një nyje mbështetëse.js ajo që duhet të bëj është ta ruaj imazhin në nivel lokal, në një rrugë specifike, por kur ekzekutoj kodin më poshtë kam gabimet e mëposhtme, si mund të bëj për ta zgjidhur kjo? Unë përdor cachemanager për të ruajtur imazhin në nivel lokal, por një nga gabimet është pikërisht në cachemanager, për çfarë shkaktohet kjo?
Gabim:
'Image' is imported from both
'package:pdf/widgets.dart' and 'package:image/src/image.dart'.
import 'package:image/image.dart';
^^^^^
lib/Model/Supporto.dart:20:31: Error: The getter 'CacheManager' isn't defined for the
class 'SaveFile'.
- 'SaveFile' is from 'package:MyApp/Model/Supporto.dart' ('lib/Model/Supporto.dart').
Try correcting the name to the name of an existing getter, or defining a getter or
field named 'CacheManager'.
var cacheManager = await CacheManager.getInstance()
Kodi Dart:
import 'dart:async';
import 'package:pdf/widgets.dart';
import 'package:MyApp/Controller/Rapporto.dart';
import 'package:MyApp/Model/Cantiere.dart';
import 'package:MyApp/Model/Supporto.dart';
import 'package:MyApp/Model/Utente.dart' show Utente;
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';
//Classe che rapprresenta il rapporto
class Rapporto {
//Costruttore
Rapporto(Utente u, Cantiere c) {
this.utente = u;
this.c = c;
}
//Funzione: permette di recuperare la testata del rapportino
static Future<bool> getTestata() async{
bool ret=false;
String testata=await RapportoController.getTestata(); //http://localhost:8989/rapportini/immagine/testata
if( testata!=null){
if(testata.length>0){
SaveFile sf=new SaveFile();
final file = await sf.getImageFromNetwork(testata);
//Recupero il path locale del dispositivo
var path = await sf.localPath;
Image image = decodeImage(file.readAsBytesSync());
//Image thumbnail = copyResize(image, 120,120,);
//Salvataggio immagine
try{
new Io.File('assets/temp/testata.jpg').writeAsBytesSync(encodePng(image));
ret=true;
}
catch(ex){
ret=false;
}
}
}
return ret;
}
}
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';
//Classe che si occupa del salvataggio dei file sul filesystem
class SaveFile {
//Recupero del path locale
Future<String> get localPath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
//Recupero dell'immagine dalla rete
Future<Io.File> getImageFromNetwork(String url) async {
var cacheManager = await CacheManager.getInstance();
Io.File file = await cacheManager.getFile(url);
return file;
}
}