当前位置: 首页 > 知识库问答 >
问题:

操作系统错误:没有这样的文件或目录,errno=2

葛阳华
2023-03-14

我在加载存储在我的资产文件夹中的html文件时遇到了麻烦。我已经搜索了2天,似乎找不到原因。

我已经确保将它包括在pubspec.yaml中,有适当的缩进和所有构建都很好。我加载的图像资产pubspec.yaml加载没有问题,所以我知道这部分应该一切正常。

我也试着用一个测试仪来测试它。txt文件,具体示例代码如下:https://api.flutter.dev/flutter/dart-io/File-class.html-从“从文件中读取”作为流节。它给出了同样的错误。

这就是我想做的:

// Tried this with a test .txt file too ('assets/html/test.txt')
File file = new File('assets/html/emaiL_bank.html');

Stream<List<int>> inputStream = file.openRead();
inputStream
    .transform(utf8.decoder)
    .transform(new LineSplitter())
    .forEach((l) => print('testing Print: $l'));

这是我的pubspec的一部分。亚马尔:

flutter:
  assets:
    - assets/images/ic_splashscreen.jpg
    - assets/images/at.png
    - assets/images/lock.png
    - assets/html/emaiL.html
    - assets/html/emaiL_bank.html
    - assets/html/test.txt

..我得到操作系统错误:没有这样的文件或目录,当它试图做文件时,errno=2。openRead()

尝试了扑翼清理,重启IDE,重建——似乎没有任何效果。

任何帮助/线索都将不胜感激。

共有1个答案

颛孙英才
2023-03-14

请使用rootBundle加载资产https://flutter.dev/docs/development/ui/assets-and-images

import 'dart:async' show Future;
import 'package:flutter/services.dart' show rootBundle;

Future<String> loadAsset() async {
  return await rootBundle.loadString('assets/config.json');
}

如果您正在尝试为webview加载html文件,请参考此https://inducesmile.com/google-flutter/how-load-a-local-html-file-in-flutter-webview/

Future<String> _loadLocalHTML() async {
  return await rootBundle.loadString('assets/html_code.html');
}

参考文件中的代码

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import 'dart:async';

class LoadHTMLFileToWEbView extends StatefulWidget {
  @override
  _LoadHTMLFileToWEbViewState createState() => _LoadHTMLFileToWEbViewState();
}

class _LoadHTMLFileToWEbViewState extends State<LoadHTMLFileToWEbView> {
  @override
  Widget build(BuildContext context) {
    return FutureBuilder<String>(
      future: _loadLocalHTML(),
      builder: (context, snapshot) {
        if (snapshot.hasData) {
          return WebviewScaffold(
            appBar: AppBar(title: Text("Load HTM file in WebView")),
            withJavascript: true,
            appCacheEnabled: true,
            url: new Uri.dataFromString(snapshot.data, mimeType: 'text/html')
                .toString(),
          );
        } else if (snapshot.hasError) {
          return Scaffold(
            body: Center(
              child: Text("${snapshot.error}"),
            ),
          );
        }
        return Scaffold(
          body: Center(child: CircularProgressIndicator()),
        );
      },
    );
  }
}

Future<String> _loadLocalHTML() async {
  return await rootBundle.loadString('assets/html_code.html');
}
 类似资料:
  • 我无法在ansible命令模块中执行kubectl(V1.16.3)命令。 例如,使用Ansible创建命名空间。 我以以下错误结束: 注意:但是我可以执行“Kubectl create-f...”手动…它在创造东西。 我的Ansible版本: 仅供参考,我也尝试了Ansible-2.4.2以及。但运气不好。 当kubectl版本为1.8和ansible版本为2.4.2时,我可以使用命令模块使用“

  • 如标题中所述,我试图在我局域网中的远程服务器上托管的Docker机器中使用Py魅力专业版(2018.2)和python远程解释器。我通过遵循帮助https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html创建了一个非常简单的示例。 Pycharm 2018.2安装在debian发行版的LAN pc(

  • 问题内容: 我有一条100线,3岁的Python刮板,它现在有问题。起始行是: 运行时 我收到错误: 我应该如何阅读此错误以及怎么办? 问题答案: 您是否注意到运行时没有收到错误 代替 这是因为将在前一种情况下进行阅读,这可以解决一些问题。如果您不指定路径,则只会读取,而无法确定路径。

  • 我正试图用python中的pd.read_excel读取我的excel文件。但是ıam得到这个错误消息=FileNotFoundError:[Errno 2]没有这样的文件或目录 我把我的excel文件和python文件放在同一个地方。图1图2

  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装:

  • 问题内容: 我正在尝试使用PyInstaller将.py脚本导出到.exe,该文件依赖于使用Qt Designer创建的.ui文件。 我可以确认.py脚本在通过PyCharm运行时可以正常工作-我可以看到使用.ui文件创建的GUI。 但是,当我将.py脚本导出到.exe并启动它时,在命令行中收到以下错误: 由于某种原因,.exe文件正在路径-C:\ Users \ giranm \中寻找.ui文件