如何在 Flutter 中从 URL 获取图像到文件?

Ant*_*t D 4 image file flutter

我在 Firebase 存储中保存了一张图像。如何将图像文件的 URL 分配给文件?

有没有办法做到这一点:

File file = File(URL);
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用 http,但导致错误:“解析图像编解码器时抛出 FileSystemException:无法打开文件”

final http.Response responseData = await http.get(url);
Uint8List uint8list = responseData.bodyBytes;
File file = File.fromRawPath(uint8list);
Run Code Online (Sandbox Code Playgroud)

使用 Uint8list 具有有效数据,如使用下面所示的小部件时所见,但与上述代码一起使用时会出现错误 File.fromRawPath(unint8list)

Image.memory(uint8list);
Run Code Online (Sandbox Code Playgroud)

尝试使用 ImageProvider 但无法从中获取 File 对象:

ImageProvider imageProvider = NetworkImage(url);
Run Code Online (Sandbox Code Playgroud)

Ant*_*t D 11

设法获取 File 对象,必须以不同的方式使用 Uint8List,所以现在将使用它,这里是工作代码:

final http.Response responseData = await http.get(strURL);
uint8list = responseData.bodyBytes;
var buffer = uint8list.buffer;
ByteData byteData = ByteData.view(buffer);
var tempDir = await getTemporaryDirectory();
File file = await File('${tempDir.path}/img').writeAsBytes(
    buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
Run Code Online (Sandbox Code Playgroud)