我在fluttter应用-webview_flutter中使用了此插件。我需要在webview中显示本地html文件。这不是来自资产,但是我有此文件的路径。 我尝试:
以字符串形式读取文件
var file = File(_path);
var data = await file.readAsString();
准备字符串
String _getHtml() {
var html = Uri.dataFromString(data, mimeType: 'text/html').toString();
return html;
}
在我的网络视图中显示此字符串
WebView(
initialUrl: _getHtml(),
)
但是我遇到了错误(在步骤Uri.dataFromString上):
如何解决?有提示吗?
答案 0 :(得分:0)
来自https://pythonprogramming.net/control-camera-sensor-self-driving-autonomous-cars-carla-python/
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:webview_flutter/webview_flutter.dart';
class HelpScreen extends StatefulWidget {
@override
HelpScreenState createState() {
return HelpScreenState();
}
}
class HelpScreenState extends State<HelpScreen> {
WebViewController _controller;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Help')),
body: WebView(
initialUrl: 'about:blank',
onWebViewCreated: (WebViewController webViewController) {
_controller = webViewController;
_loadHtmlFromAssets();
},
),
);
}
_loadHtmlFromAssets() async {
String fileText = await
rootBundle.loadString('assets/help.html');
_controller.loadUrl( Uri.dataFromString(
fileText,
mimeType: 'text/html',
encoding: Encoding.getByName('utf-8')
).toString());
}
}