错误:FormatException:Flutter Web中出现意外的扩展字节(偏移量为0)



在过去的几天里,我一直在与这个错误作斗争,而且我似乎在网上找不到任何有用的答案,所以如果有任何帮助,我们将不胜感激!

我正在使用Flutter Web,由于网络上不支持dart:io,我正在使用universal_io包。在Image包的帮助下,我正在将文件从Jpg转换为Png,并尝试将转换后的文件的收到Unit8List转换为File变量。然而,这似乎并不奏效。

我一直收到这个错误:

Error: FormatException: Unexpected extension byte (at offset 0)

完整错误截图

我在做什么:
我正在尝试将Unit8List转换为文件变量,行为:
File convertedFile = File.fromRawPath(png);png为Unit8List。

完整代码:

convertFiles() async {
//1. Requesting file from the internet [✓ works]
http.Response response = await http.get(
Uri.parse(folderFiles[openFileIndex.value]["link"]),
);
//2. Decoding WEBP image with "Image" package [✓ works]
var image = img.decodeWebP(response.bodyBytes);
//3. Encoding decoded WEBP file as an PNG [✓ works]
Uint8List png = img.encodePng(image!) as Uint8List;
//4. Trying to convert file bytes(Unit8List) to a File Variable [✗ throws an error]
File convertedFile = File.fromRawPath(png);
}

VSCode屏幕截图

我尝试了什么:
我已经尝试了我在互联网上看到的一切,包括转到Master频道和升级Flutter,但这些都没有解决问题。

颤振医生:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 3.5.0-4.0.pre.23, on macOS 12.6 21G115 darwin-arm64, locale en-SI)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.71.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability
• No issues found!

终端屏幕截图

这是一个与universal.io包有关的问题,已经有一个打开的问题,您可以在这里跟踪进度-Flutter Web:无法将uint8list转换为File。

同时你可以检查这个构造函数是否可以帮助你-Image.memory

相关内容

  • 没有找到相关文章

最新更新