将Uinit8List转换为Flutter web中的文件



你好,我使用的是flatter_dropzone,它为我提供了图像的Uinit8List。我知道dart.io不支持flutter web。相反,我使用universal.io来获取文件,但我得到了错误

Error: FormatException: Invalid UTF-8 byte (at offset 0)

我想做的是获取文件路径并将其上传到我的chopper api(Multipart(

Uint8List unit8List;
uio.File createFileFromUint8List(Uint8List uint8list) => uio.File.fromRawPath(uint8list)

有人能帮我吗?

感谢

我不熟悉universal_io包,但假设它的File类的行为类似于dart:io的:

File.fromRawPath期望其参数为所需的文件路径,而不是内容。路径应为有效的文件系统路径,因此必须采用有效的文本编码。File.fromRawPath与普通的File构造函数是一样的,但它可以更好地控制File的路径是如何编码的(例如,Unicode文件路径是否被规范化,如果是,它是完全合成的还是完全分解的,以及Unicode路径是如何被编码为字节的(。

如果要将Uint8List作为内容写入File,则应使用writeAsBytes/writeAsBytesSync。(或者open/openSyncopenWrite,如果你需要做更高级的事情。(

最新更新