[英]Flutter: How show local html file in webview?
我在我的颤振应用程序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 中显示此字符串
WebView( initialUrl: _getHtml(), )
但我收到错误(在步骤 Uri.dataFromString 上):
怎么修? 有小费吗?
从这里
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());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.