【发布时间】:2020-10-11 07:37:06
【问题描述】:
我是 Dart 和 Flutter 的新手,我无法从源图像覆盖现有资产图像。
我的尝试:
try {
File localFile = File('assets/images/myImage.png');
localFile.writeAsBytesSync(originFile.readAsBytesSync());
catch (e) {
log(e.toString());
}
我明白了:
[log] FileSystemException: Cannot open file, path = 'assets/images/myImage.png' (OS Error: No such file or directory, errno = 2)
我确实在 pubspec.yaml 中定义了 assets 文件夹:
assets:
- assets/images/
好的,所以我在某处读到可以像这样访问资产文件:
import 'package:flutter/services.dart' show rootBundle;
final byteData = await rootBundle.load('assets/images/myImage.png');
但我不知道如何将 byteData 转换为代表实际文件的 File 对象。
我想我在这里遗漏了一些非常基本的东西。或者也许有一种与这种方法无关的正确方法来做到这一点?
请帮忙。
提前致谢!
【问题讨论】:
标签: file flutter dart assets overwrite