我有一个“ blob”的内存中字节,但是我想使用“ blob”处理的API仅接受dart:io File对象。
有没有一种方法可以创建一个“伪造的” dart:io文件,仅包装内存中的字节,以便将该“伪造的”文件传递给我的API?
假设文件系统不存在,并假定我无法将内存中的字节写入“真实”文件。
谢谢!
Put*_*yah 11
添加路径提供程序依赖于 pubspec.yaml
dependencies:
path_provider: 0.2.2
Run Code Online (Sandbox Code Playgroud)
将字节数据写入文件,使用它,然后将其删除。
import 'dart:io';
import 'package:path_provider/path_provider.dart';
main() async {
String dir = (await getTemporaryDirectory()).path;
File temp = new File('$dir/temp.file');
var bytes = [0, 1, 2, 3, 4, 5];
await temp.writeAsBytes(bytes);
/*do something with temp file*/
temp.delete();
}
Run Code Online (Sandbox Code Playgroud)
Hug*_*sos 11
您可以使用MemoryFileSystem包文件创建内存文件:
例子:
File file = MemoryFileSystem().file('test.dart')
..writeAsBytesSync(blobBytes);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1226 次 |
| 最近记录: |