flutter_file_view 1.1.0 copy "flutter_file_view: ^1.1.0" to clipboard
flutter_file_view: ^1.1.0 copied to clipboard

outdated

File view plugin for Flutter, support local file and network link of Android, iOS

Flutter File View #

pub package

Language: 中文 | English

目前该插件仅限于 AndroidiOS 使用

可使用 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文档乱码问题
41
likes
0
pub points
89%
popularity

Publisher

unverified uploader

File view plugin for Flutter, support local file and network link of Android, iOS

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

dio, flutter

More

Packages that depend on flutter_file_view