GithubHelp home page GithubHelp logo

liwenhui96 / flutter_file_view Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 31.0 901 KB

A file viewer plugin for Flutter, support local file and network link of Android, iOS.

License: Apache License 2.0

Kotlin 21.62% Ruby 3.65% Swift 8.23% Objective-C 1.16% Dart 65.34%
android dart flutter flutter-plugin ios

flutter_file_view's Introduction

flutter_file_view's People

Contributors

liwenhui96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

flutter_file_view's Issues

No one maintains it?

Because flutter_file_view 2.2.1 depends on dio ^4.0.0 and no versions of flutter_file_view match >2.2.1 <3.0.0, flutter_file_view ^2.2.1 requires dio ^4.0.0.
So, because project depends on both flutter_file_view ^2.2.1 and dio ^5.4.1, version solving failed.

小米手机报错 显示插件加载失败

微信图片_20221105165457
W/System.err( 9156): java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.tencent.tbscommon.plugin.exports.QBPluginItemInfo.mPackageSize' on a null object reference
W/System.err( 9156): at com.tencent.tbs.tbsshell.partner.reader.service.l$a.getPackageSize(TbsJavaCore:1)
W/System.err( 9156): at com.tencent.mtt.external.reader.internal.v.b(Unknown Source:14)
W/System.err( 9156): at com.tencent.mtt.external.reader.internal.t.a(Unknown Source:10)
W/System.err( 9156): at com.tencent.mtt.external.reader.internal.l.a(Unknown Source:26)
W/System.err( 9156): at com.tencent.mtt.external.reader.internal.l$b.a(Unknown Source:194)
W/System.err( 9156): at com.tencent.mtt.external.reader.a.p$c.handleMessage(Unknown Source:11)
W/System.err( 9156): at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err( 9156): at android.os.Looper.loop(Looper.java:236)
W/System.err( 9156): at android.app.ActivityThread.main(ActivityThread.java:8060)
W/System.err( 9156): at java.lang.reflect.Method.invoke(Native Method)
W/System.err( 9156): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
W/System.err( 9156): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

Web support

Is there any plans to support flutter web? Do you need some help to implement that?

java.net.SocketTimeoutException: failed to connect to cfg.imtt.qq.com/13.127.247.216 (port 443) from /192.168.1.51 (port 42096) after 20000ms

Failed to initiaize engine.

W/System.err: java.net.SocketTimeoutException: failed to connect to cfg.imtt.qq.com/13.127.247.216 (port 443) from /192.168.1.51 (port 42096) after 20000ms W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:235) W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:179) W/System.err: at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142) W/System.err: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390) W/System.err: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230) W/System.err: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212) W/System.err: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436) W/System.err: at java.net.Socket.connect(Socket.java:646) W/System.err: at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182) W/System.err: at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145) W/System.err: at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116) W/System.err: at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186) W/System.err: at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128) W/System.err: at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97) W/System.err: at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289) W/System.err: at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232) W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465) W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131) W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262) W/System.err: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219) W/System.err: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30) W/System.err: at com.tencent.smtt.utils.g.b(Unknown Source:1) W/System.err: at com.tencent.smtt.utils.g.a(Unknown Source:121) W/System.err: at com.tencent.smtt.sdk.TbsDownloader.b(Unknown Source:519) W/System.err: at com.tencent.smtt.sdk.TbsDownloader.a(Unknown Source:0) W/System.err: at com.tencent.smtt.sdk.TbsDownloader$2.handleMessage(Unknown Source:271) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106) W/System.err: at android.os.Looper.loopOnce(Looper.java:226) W/System.err: at android.os.Looper.loop(Looper.java:313) W/System.err: at android.os.HandlerThread.run(HandlerThread.java:67) W/System.err: org.json.JSONException: Value ["HttpError"] of type org.json.JSONArray cannot be converted to JSONObject W/System.err: at org.json.JSON.typeMismatch(JSON.java:112) W/System.err: at org.json.JSONObject.<init>(JSONObject.java:172) W/System.err: at org.json.JSONObject.<init>(JSONObject.java:185) W/System.err: at com.tencent.smtt.sdk.TbsDownloader.a(Unknown Source:78) W/System.err: at com.tencent.smtt.sdk.TbsDownloader.b(Unknown Source:568) W/System.err: at com.tencent.smtt.sdk.TbsDownloader.a(Unknown Source:0) W/System.err: at com.tencent.smtt.sdk.TbsDownloader$2.handleMessage(Unknown Source:271) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:106) W/System.err: at android.os.Looper.loopOnce(Looper.java:226) W/System.err: at android.os.Looper.loop(Looper.java:313) W/System.err: at android.os.HandlerThread.run(HandlerThread.java:67)

Error!!! Files does not open

IMG-20220325-WA0008

I have tried everything, yet I keep getting this issue, for all file type. Pls is there something I'm missing?

Error: The getter 'titleMedium' isn't defined for the class 'TextTheme'.

Error: The getter 'bodyMedium' isn't defined for the class 'TextTheme'.

  • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('../../flutter/packages/flutter/lib/src/material/text_theme.dart').
    Try correcting the name to the name of an existing getter, or defining a getter or field named 'bodyMedium'.
    style: widget.fileSizeStyle ?? Theme.of(context).textTheme.bodyMedium,

ios打开doc文件报错

ios设备,有的doc文件打开报错,如下:
this file cannot be previewed
it might be corrupted or of an unknown file format
android打开同样doc文件没问题,请问这个错误是什么原因引起的?

新版本tbs怎么适配

因为44085版本的tbs有访问imsi导致华为审核不过,但是我把tbs升级到最新的44226应用安装就闪退,怎么在gradle中配置呢,请教下

Unable display file on Android

Even though every setup is done correctly, on Android it says Non-existent file.

Here is my code

FileViewController? controller = FileViewController.asset(filePath!);

Navigator.of(context).push(
                      MaterialPageRoute<void>(
                        builder: (_) => FileViewer(
                          fileName: fileName,
                          controller: controller!,
                        ),
                      ),
                    );

file_viewer.dart

import 'package:flutter/material.dart';
import 'package:flutter_file_view/flutter_file_view.dart';

import 'components.dart';

class FileViewer extends StatelessWidget {
  const FileViewer({Key? key, required this.fileName, required this.controller}) : super(key: key);

  final String fileName;
  final FileViewController controller;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.white,
        leading: GestureDetector(
          onTap: () => Navigator.pop(context),
          child: Icon(Icons.adaptive.arrow_back, color: kPrimaryColor),
        ),
        title: Tooltip(
          message: fileName,
          child: Text(fileName, style: kTextSubtitle2),
        ),
      ),
      backgroundColor: kBackgroundColor,
      body: FileView(
        controller: controller,
      ),
    );
  }
}

Here is output on Android (real device, not emulator)
IMG_20230914_145410_014

This is output on iOS simulator
Screenshot 2023-09-14 at 14 58 26

If I did something wrong please correct me, if there is a bug on Android site I look forward fix that bug soon!

Is this package still under maintenance?

When I load flutter_file_view in pubspec.yaml, it obviously prompts that the dio package in flutter_file_view is too low.

Because flutter_file_view >=2.0.3 depends on dio ^4.0.0 and wolkezoo_app depends on dio ^5.3.3, flutter_file_view >=2.0.3 is forbidden.
So, because wolkezoo_app depends on flutter_file_view ^2.2.1, version solving failed.

获取文件大小失败

不知道我的描述是否准确,通过nginx映射到的文件是可以正常获取到文件大小的,当我的文件链接是alioss或者经后端的时候是获取失败的。 具体文件如下
image

2.0.8运行出错

flutter_file_view-2.0.8+3/android/src/main/kotlin/com/file/view/LocalFileViewer.kt: (109, 45): Type mismatch: inferred type is Boolean? but Boolean was expected

word文档下载后乱码

NetworkFileViewer(
downloadUrl: downloadUrl,
downloadPath: downloadPath,
onViewPressed: () {
push(LocalFileViewerPage(downloadPath));
},
));
下载word文件后,文件内容乱码,需要加什么参数吗?

你这插件不稳定呀

插件不稳定呀,动不动初始化的时候就报错,内核初始化失败,包括demo也报错了
5e15a110240173f8dca06ad77c92dac

Unable to support android

Please set the platform availability only IOS, don't just put at the bottom remarks, thank you
However, in iOS it works very well.

文件预览时报权限问题android.permission.WRITE_SETTINGS.

为何需要WRITE_SETTINGS权限,是否能去除

W/System.err(28264): java.lang.SecurityException: com.xxx.xxx was not granted this permission: android.permission.WRITE_SETTINGS. W/System.err(28264): at android.os.Parcel.createException(Parcel.java:2091) W/System.err(28264): at android.os.Parcel.readException(Parcel.java:2059) W/System.err(28264): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188) W/System.err(28264): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140) W/System.err(28264): at android.content.ContentProviderProxy.call(ContentProviderNative.java:658) W/System.err(28264): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:2372) W/System.err(28264): at android.provider.Settings$System.putStringForUser(Settings.java:2827) W/System.err(28264): at android.provider.Settings$System.putIntForUser(Settings.java:2935) W/System.err(28264): at android.provider.Settings$System.putInt(Settings.java:2928) W/System.err(28264): at com.tencent.mtt.external.reader.internal.x.a(Unknown Source:27) W/System.err(28264): at com.tencent.mtt.external.reader.internal.x.<init>(Unknown Source:32) W/System.err(28264): at com.tencent.mtt.external.reader.a.l.a(Unknown Source:10) W/System.err(28264): at com.tencent.mtt.external.reader.a.k.b(Unknown Source:93) W/System.err(28264): at com.tencent.mtt.external.reader.a.r.b(Unknown Source:0) W/System.err(28264): at com.tencent.mtt.external.reader.a.h.a(Unknown Source:185)

file exists, but plugin says it is non-existant.

I am using this plugin to display files that I have downloaded using http get and saved to local storage. When I give the plugin the directory to look in it says that the file doesn't exist. The path I'm saving the file to looks like this

/Users/myuser/Library/Developer/CoreSimulator/Devices/BD738457-C105-43FE-A38A-60B401052DDC/data/Containers/Data/Application/AA3FCA19-D06E-4129-917F-39032F261F0C/Documents/67c1dcdf-aea7-406e-a7c6-79f685061751.pdf

the file does exist there and I can open it, but the simulator can't.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.