2017-11-05 6 views
1

Ich möchte eine Platzhalterbilddatei verwenden, die ich meinem Code als "assets/placeholder.png" hinzugefügt habe, aber ich bekomme einen Fehler Datei nicht gefunden. Dies ist, wie ich es von der dartlang Dokumentation mache ...Wie lese ich Bytes einer lokalen Bilddatei in Dart/Flutter?

var bytes = await new File('assets/placeholder.png').readAsBytes(); 
String base64 = CryptoUtils.bytesToBase64(bytes); 

Die bytes variable Fehler jedes Mal. Wie kann ich die Bytes einer lokal gespeicherten Bilddatei speichern?

+0

Möglicherweise möchten Sie 'Image.asset ("assets/placeholder.png") – Darky

Antwort

1

Mit Flutter-Umgebung müssen Sie AssetBundle verwenden, wenn Sie auf Ihre Assets zugreifen möchten (https://flutter.io/assets-and-images/).

import 'package:flutter/services.dart' show rootBundle; 


ByteData bytes = await rootBundle.load('assets/placeholder.png'); 
+0

auf Irgendeine Idee, anstatt verwenden, wie Bytes in einen BASE64-String drehen Sie dann? Meine obige CryptoUtils-Erweiterung funktioniert nicht. –

+0

ja sorry, Sie sollten BASE64 von "dart: convert", https://api.dartlang.org/stable/1.24.2/dart-convert/BASE64-constant.html verwenden –

Verwandte Themen