gpt4 book ai didi

html - 操作系统错误 : No such file or directory, errno = 2

转载 作者:行者123 更新时间:2023-12-03 03:01:34 25 4
gpt4 key购买 nike

我无法加载存储在我的 Assets 文件夹中的 html 文件。我已经搜索了 2 天,但我似乎无法找出原因。

我已经确保将它包含在 pubspec.yaml 中,并使用适当的缩进和所有 - 构建良好。我在 pubspec.yaml 中加载的图像 Assets 加载没有问题,所以我知道那部分应该没问题。

我还尝试按照此处的确切示例代码使用 .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.yaml 的一部分:
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
当它试图做 file.openRead()

尝试flutter clean,重新启动IDE,重建 - 似乎没有任何效果。

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

最佳答案

请使用 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');
}

关于html - 操作系统错误 : No such file or directory, errno = 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57884286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com