小编Yun*_*uíz的帖子

如何从网络下载图片并保存到本地目录?

我正在尝试从网络下载图像并将其本地保存在计算机的下载文件夹中。我需要为 flutter web 实现这一点,我不知道该怎么做。

我发现了一些关于如何实现Android和IOS下载并保存文件或图像的问题,例如Flutter将网络图像保存到本地目录。我还查看了如何在本地为 Flutter Web 读取和写入图像文件?。但是,我不知道这些答案对我有什么帮助。

我认为对于 IOS 和 Flutter 我可以使用以下函数而不会出现任何错误,但我不知道文件保存在模拟器中的位置:

  void _downloadAndSavePhoto() async {
    var response = await http.get(Uri.parse(imageUrl));

    try {
      Directory tempDir = await getTemporaryDirectory();
      String tempPath = tempDir.path;

      File file = File('$tempPath/$name.jpeg');
      file.writeAsBytesSync(response.bodyBytes);
    } catch (e) {
      print(e.toString());
    }
  }

Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用 flutter web 的上述功能(使用 Chrome 模拟器)时,出现以下错误:

MissingPluginException(No implementation found for method getTemporaryDirectory on channel plugins.flutter.io/path_provider)
Run Code Online (Sandbox Code Playgroud)

如果有人知道一种方法或有一些实现该功能的建议,我将非常高兴。

提前致谢!

flutter flutter-web

7
推荐指数
1
解决办法
1万
查看次数

如何使用 MockBloc 实现小部件测试?

我正在尝试实现小部件测试以测试登录表单。这个测试取决于我使用 MockBloc 模拟的一个块。但是,它会引发以下错误:

??? EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK?????????????????????????????????????????????????????
The following StateError was thrown running a test:
Bad state: No method stub was called from within `when()`. Was a real method called, or perhaps an 
extension method?
Run Code Online (Sandbox Code Playgroud)

我在以下链接中发现了类似的错误,但我不知道这如何帮助我解决我的问题。

我还在gitlub 上查看了以下文件,这是使用 bloc_test 进行小部件测试的示例。该链接可以在 Bloc 库的官方网站上找到 - 特别是在 Flutter 中使用 Bloc 库的 Todos App 中

但是,该示例bloc_test: ^3.0.1在我使用时使用bloc_test: ^8.0.0,可在此处找到。

这是一个最小的例子:

  • 登录表单小部件
class LoginForm extends StatelessWidget {
  @override
  Widget …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-test widget-test-flutter bloc-test

1
推荐指数
1
解决办法
721
查看次数