flutter_file_view 1.2.0 
flutter_file_view: ^1.2.0 copied to clipboard
File viewer plugin for Flutter, support local file and network link of Android, iOS
Flutter File View #
Language: 中文 | English
At present, the plugin is only used by Android, iOS
You can use FileLocalViewer to preview local files
You can use FileNetworkViewer to download the network link
and preview the file in combination with FileLocalView
Use of third-party plugins #
- Use 
dioto make network requests. - The v1.0.0 version no longer provides permission requests.
 - It is recommended to use 
getTemporaryDirectory()as the target path, which can be implemented using the path_provider plugin. 
Preparing for use #
Version constraints #
  sdk: ">=2.14.0 <3.0.0"
  flutter: ">=2.5.0"
Flutter #
Add flutter_file_view to pubspec.yaml dependencies.
dependencies:
  flutter_file_view: ^latest_version
iOS #
Make sure you add the following key to Info.plist for iOS
<key>io.flutter.embedded_views_preview</key><true/>
Android #
Android P Unable to download kernel Solution
Add a piece of code in label application on AndroidManifst.xml file
android:networkSecurityConfig="@xml/network_security_config"
Add a file named network_security_config.xml in res/xml directory, The content of the file is
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
Local File Preview #
Android is implemented by Tencent X5, iOS is implemented by WKWebView.
Supported file type #
- Android 
docx,doc,xlsx,xls,pptx,ppt,pdf,txt - iOS 
docx,doc,xlsx,xls,pptx,ppt,pdf,txt,jpg,jpeg,png 
Usage #
| Name | Old Name | Type | Description | Default | 
|---|---|---|---|---|
| localFilePath | filePath | String | 
Local file path (full path) | Required | 
| unsupportedPlatformTip | unSupportPlatformTip | String | 
Platform hints are not supported | 当前仅支持Android、iOS平台 | 
| nonexistentFileTip | nonExistentFileTip | String | 
Prompt that the file under this file path does not exist | 文件不存在 | 
| openFailTip | fileFailTip | String | 
Prompt of failure to open file | 文件打开失败 | 
| loadingWidget | - | Widget | 
Widget showing loading status | See source file | 
| unsupportedTypeWidget | unSupportFileWidget | Widget | 
Unsupported file type widget | See source file | 
Android special notes #
- The X5 kernel loading method has been integrated in the plugin.
 - Get the current kernel loading status through 
getX5Status(). - It can be initialized by itself through 
initX5(). It is mainly used to solve the problem of unsuccessful download. - Through the following scheme, kernel load listening can be realized after 
initX5()call. 
FlutterFileView.initController.listen((res) {
  EX5Status ex5status = res;
  print(ex5status);
});
READ #
- Not Support Google Play, Reason: Issues 1.11.
 - Running on Android emulator is not supported.
 
Network Link View #
A network link view which based on the WeChat’s UI, with download function and view click effect.
Usage #
| Name | Type | Description | Default | 
|---|---|---|---|
| downloadUrl | String | 
Download link for file | Required | 
| downloadPath | String | 
Storage address of the file | Required | 
| onViewPressed | VoidCallback | 
File viewing function | Required | 
| fileShowName | String | 
Deprecated | - | 
| fileType | String | 
Deprecated | - | 
| fileNameStyle | TextStyle | 
The style of the displayed file name | See source file | 
| fileSizeStyle | TextStyle | 
The style of the text showing the size of the file resource | See source file | 
| downloadTitle | Widget | 
Button title when downloadable | 文件下载 | 
| viewTitle | String | 
Button title when viewable | 文件查看 | 
| btnTitleColor | Color | 
Button title color | Colors.white | 
| btnBgColor | Color | 
Button background color | Theme.of(context).primaryColor | 
| borderSide | BorderSide | 
Button border | ElevatedButton 默认 | 
Future Plans #
- Realize online viewing of network links. At present, 
FileNetworkViewercan be used to view after downloading. - Consider removing the 
onViewPressedfunction ofFileNetworkViewerand providing additional events for opening files that cannot be previewed. 
Other Api #
- Convert file size through 
fileSize(). - Download network files through 
downloadFileByNet(). - Get the network file size through 
getFileSizeByNet().