flutter_file_view 1.1.0 flutter_file_view: ^1.1.0 copied to clipboard
File view plugin for Flutter, support local file and network link of Android, iOS
Flutter File View #
Language: 中文 | English
目前该插件仅限于 Android
,iOS
使用
可使用 FileLocalView 实现本地文件预览
可使用 FileNetworkView 实现网络链接下载,结合 FileLocalView
实现预览
第三方插件使用 #
-
使用
dio
进行网络请求 -
v1.0.0版本已不再提供权限请求,推荐使用
getTemporaryDirectory()
作为目标路径(使用path_provider插件可实现)
准备工作 #
版本限制 #
sdk: ">=2.14.0 <3.0.0"
flutter: ">=2.5.0"
Flutter #
将 flutter_file_view
添加至 pubspec.yaml
引用。
dependencies:
flutter_file_view: ^latest_version
iOS #
请确保将以下键添加到Info.plist
<key>io.flutter.embedded_views_preview</key><true/>
Android #
Android P 无法下载内核解决方案
在文件 AndroidManifst.xml
的标签 application
中添加代码
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
在 res/xml
目录中添加一个名为 network_security_config.xml
的文件, 文件内容为
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
本地文件预览 #
Android 由 Tencent X5 实现,iOS 由 WKWebView 实现
所支持的文件类型 #
- Android
docx,doc,xlsx,xls,pptx,ppt,pdf,txt
- IOS
docx,doc,xlsx,xls,pptx,ppt,pdf,txt,jpg,jpeg,png
使用方法 #
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
filePath | String |
本地文件地址(全量地址) | 必填项 |
unSupportPlatformTip | String |
不支持平台提示 | 当前仅支持Android、iOS平台 |
nonExistentFileTip | String |
文件不存在提示 | 文件不存在 |
fileFailTip | String |
文件打开失败提示 | 文件打开失败 |
loadingWidget | Widget |
加载中的布局 | 见源文件 |
unSupportFileWidget | Widget |
不支持的文件类型布局 | 见源文件 |
Android特殊说明 #
- 在插件内已集成加载X5内核方法
- 通过
getX5Status()
可获取当前内核加载状态 - 通过
initX5()
,可自行初始化,主要用于解决下载不成功的问题 - 通过下述方案可在
initX5()
调用后实现内核加载监听
FlutterFileView.initController.listen((res) {
EX5Status ex5status = res;
print(ex5status);
});
注意事项 #
- 不支持Google Play,原因:问题 1.11
- 不支持在Android 模拟器
- 如果txt文档显示乱码,请将txt文档代码更改为GBK
网络链接视图 #
基于微信 UI 的 网络链接视图,带有下载功能以及查看的点击效果
使用方法 #
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
fileShowName | String |
页面上显示的文件的名称 | 必填项 |
fileType | String |
文件类型 | 必填项 |
downloadUrl | String |
下载文件链接 | 必填项 |
downloadPath | String |
下载文件存储地址 | 必填项 |
onViewPressed | VoidCallback |
文件查看功能 | 必填项 |
fileNameStyle | TextStyle |
fileShowName 字体风格 |
见源文件 |
downloadTitle | Widget |
可下载时的按钮标题 | 文件下载 |
viewTitle | String |
可查看时的按钮标题 | 文件查看 |
btnTitleColor | Color |
按钮标题颜色 | Colors.white |
btnBgColor | Color |
按钮背景颜色 | Theme.of(context).primaryColor |
borderSide | BorderSide |
按钮边框 | ElevatedButton 默认 |
cornerRadius | double |
按钮四角弧度 | ElevatedButton 默认 |
未来计划 #
- 实现网络链接的在线查看,当前可使用
FileNetworkView
实现下载后查看 - 优化
FileLocalView
加载时的流程,降低卡顿 - 处理txt文档乱码问题