[英]Flutter: How show local html file in webview?
I use this plugin in my fluttter app - webview_flutter .我在我的颤振应用程序webview_flutter中使用了这个插件。 I need show local html file in webview.我需要在 webview 中显示本地 html 文件。 This is not from assets, but I have path to this file.这不是来自资产,但我有这个文件的路径。 I try it:我试试看:
Read file as string以字符串形式读取文件
var file = File(_path); var data = await file.readAsString();
prepare string准备字符串
String _getHtml() { var html = Uri.dataFromString(data, mimeType: 'text/html').toString(); return html; }
Show this string in my webview在我的 webview 中显示此字符串
WebView( initialUrl: _getHtml(), )
But I have get error(on step Uri.dataFromString):但我收到错误(在步骤 Uri.dataFromString 上):
How fix it?怎么修? Any tips?有小费吗?
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.