[英]Flutter: type 'Future<dynamic>' is not a subtype of type 'Uint8List'
[英]Future<Uint8List> to Base64 or PNG in Flutter
我需要在Future<Uint8List>
轉換為 Base64 或 PNG,我正在使用這個 pub來獲取簽名並導出它,但是當我調用toPngBytes()
方法(pub 中的方法)它返回一個Future<Uint8List>
我需要要將其轉換為Base64
格式或List<int>
至少ByteData
格式,我無法將其轉換為對我更有用的格式,誰能幫我解決這個問題。
_controller.toPngBytes(); // _controller is a variable that holds info about my signature.
import 'dart:convert';
// async variant
final imageData = await _controller.toPngBytes(); // must be called in async method
final imageEncoded = base64.encode(imageData); // returns base64 string
// callback variant
_controller.toPngBytes().then((data) {
final imageEncoded = base64.encode(data);
});
這個 function 讓我正確地將圖像上傳到Xano :
import 'dart:convert';
import 'dart:typed_data';
String uint8ListTob64(Uint8List uint8list) {
String base64String = base64Encode(uint8list);
String header = "data:image/png;base64,";
return header + base64String;
}
您可以通過以下方式將圖像轉換為 Uint8List:
String path = "image.png";
File file = File(path);
Uint8List uint8list = file.readAsBytesSync();
//or
Uint8List uint8list = await file.readAsBytes();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.