如果我单击文件,如何在flutter应用程序中打开该文件。 这就是我所做的:
此代码用于在列表视图中显示广告
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在应用程序中打开该文件。
答案 0 :(得分:1)
在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-
答案 1 :(得分:0)
您应该能够使用flutter_filereader软件包来打开所有这些文件格式。
确保遵循自述文件中的配置和示例。
答案 2 :(得分:0)
无需下载文件,您可以使用以下软件包从URL打开:url_launcher 5.4.1
_launchURL(String url) async {
const url = url; // you can use your url
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Unable to open url : $url';
}
}