首页 > 解决方案 > Flutter中的writeToFile函数如何返回null值?

问题描述

在这里,我想在我的颤振应用程序中从 Firebase 存储下载一个 csv 文件?

Future<void> _downloadFile(StorageReference ref,url) async {
    final String uuid = Uuid().v1();
    print(uuid);
    final http.Response downloadData = await http.get(url);
    print(downloadData.body);
    final Directory systemTempDir = Directory.systemTemp;
    print(systemTempDir);
    Directory tempDir = await getTemporaryDirectory();
    String tempPath = tempDir.path;
    print(tempPath);
    final File tempFile = File('${tempPath}/tmp$uuid.csv');
    if (tempFile.existsSync()) {
      await tempFile.delete();
    }
    await tempFile.create();
    assert(await tempFile.readAsString() == "");
    print(tempFile);
    final StorageFileDownloadTask task = ref.writeToFile(tempFile);
    final int byteCount = (await task.future).totalByteCount;
    final String tempFileContents = await tempFile.readAsString();


    final String fileContents = downloadData.body;
    final String name = await ref.getName();
    final String bucket = await ref.getBucket();
    final String path = await ref.getPath();
    print(fileContents);
  }

它返回一个错误,指出在 null 上调用了 writeToFile。

标签: flutterdartfirebase-storage

解决方案


推荐阅读