flutter - 如何在Flutter应用中打开pdf,pptx,doc,docx文件?

标签 flutter dart

如果我单击文件,如何在flutter应用程序中打开该文件。
这是我所做的:

enter image description here

该代码用于show在listView中运行:

ListView.builder(
              scrollDirection: Axis.vertical,
              shrinkWrap: true,
              itemCount: attachments.length,
              itemBuilder: (BuildContext ctxt, int index) {
                print (index);
                return ListView(
                    scrollDirection: Axis.vertical,
                    shrinkWrap: true,
                    children: <Widget>[
                      Padding(
                        padding: const EdgeInsets.all(1.0),
                        child: ListTile(
                          leading: CircleAvatar(
                            child: _getIcon(
                                attachments[index].split('/').removeLast()),
                            backgroundColor: Colors.white,
                          ),
                          subtitle:
                          Text(attachments[index].split('/').removeLast()),
                          onTap: (){}
                        ),
                      ),
                    ]);
              })

我使用过open_file包,但是它不起作用,这是我做过的代码:
            onTap: () async {
            String fileUrl = widget.schoolDcUrl + "/container"attachments[index];
            final _openFile = await OpenFile.open(fileUrl);
             Logger.i(_openFile);
                              }

当我单击文件时,它不会打开文件,它将在未找到的终端文件上显示一条消息。

我希望onTap在应用程序中打开该文件。

最佳答案

pubspec.yaml中添加:

dev_dependencies:
   open_file: ^3.0.1
在代码中添加:
import 'package:open_file/open_file.dart';

OpenFile.open("/sdcard/example.pptx");
open_file文档:
https://pub.dev/packages/open_file#-readme-tab-

关于flutter - 如何在Flutter应用中打开pdf,pptx,doc,docx文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60190124/

相关文章:

android - Flutter 应用程序打印语句不会显示在 adb logcat 中

dart - 我如何使用 Angular 2 Dart 在页面重新加载时支持 RouteParams?

dart - Flutter 相机插件无法导入/可用

flutter - 将 32 位整数写入文件?

unit-testing - 如何在 Dart 或 Flutter 中模拟静态 getter 的返回值?

flutter - 如何在 Flutter 中更新 SliverList 的单个项目?

flutter - 如何自动加载对话框并消除抖动?

flutter - ClojureDart : Execution error at cljd. 编译器/load-libs-info (compiler.cljc :126). EOF 读取时

Dart 对象到 native - UnimplementedError : structured clone of other type

flutter - "' _listenerAttached ': is not true"在 StatefulWidget 中布局更改后