Flutter web 从 Uint8List 字节获取文件在偏移量 11 处缺少扩展类型

Posted

技术标签:

【中文标题】Flutter web 从 Uint8List 字节获取文件在偏移量 11 处缺少扩展类型【英文标题】:Flutter web get file from Uint8List bytes missing extension type at offset 11 【发布时间】:2021-11-21 11:26:43 【问题描述】:

在 Flutter web 中无法将字节转换为文件

var req = await http.get(uri, headers: headers);
var bytes = req.bodyBytes;
if (UniversalPlatform.isWeb) 
  try 
     uio.File file = uio.File.fromRawPath(bytes);
     return file;
   catch (ex) 
    print(ex);
  

当我尝试使用通用 IO 包进行转换时,我在 11 处出现缺少扩展字节。请提供将 uint8list 字节转换为文件的解决方案,或者请提供使用 http 客户端为 Flutter Web 下载文件的解决方案。

【问题讨论】:

【参考方案1】:

由于 dart:io 在网络上不可用,您可以使用 Universal_io 包。

将其添加到您的 pubspec.yaml。

import 'package:universal_io/io.dart';

File createFileFromBytes(Uint8List bytes) => File.fromRawPath(bytes);

【讨论】:

使用通用 io 包我得到了这个异常 请回复我遇到异常 @tesrt 请提供更多与异常相关的信息,以便我理解问题。谢谢

以上是关于Flutter web 从 Uint8List 字节获取文件在偏移量 11 处缺少扩展类型的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Web - 播放 uint8list n 视频播放器

从 Flutter 中的 Uint8List 数据更改图像大小

从 uInt8List Flutter 裁剪图像

如何从网络图像中获取 Flutter Uint8List?

Flutter 将 Uint8List 传递给 iOS Objective-c

如何从 Flutter-web 中的小部件创建图像?