从 url 共享文件
Share file from url
我正在处理一个需要共享 pdf 文件的项目,该文件存储在 firebase 存储中。
我研究了不同的共享库,似乎所有共享库都从内部存储共享文件或直接以文本形式共享 url(这可能是一个选项,但产品团队不想要它)。
所以我的问题是,除了手动下载 pdf,将其保存在内部存储中,然后将其作为任何文件共享之外,还有其他方法吗?
在我看来这不是一个很奇怪的用例,所以有人可能有更好的解决方案:)
您可以使用这个包来共享文件https://pub.dev/packages/esys_flutter_share
Future<void> _shareMixed() async {
try {
final ByteData bytes1 = await rootBundle.load('assets/image1.png');
final ByteData bytes2 = await rootBundle.load('assets/image2.png');
final ByteData bytes3 = await rootBundle.load('assets/addresses.csv');
await Share.files(
'esys images',
{
'esys.png': bytes1.buffer.asUint8List(),
'bluedan.png': bytes2.buffer.asUint8List(),
'addresses.csv': bytes3.buffer.asUint8List(),
},
'*/*',
text: 'My optional text.');
} catch (e) {
print('error: $e');
}
}
完整示例可在以下 link 代码中找到
我正在处理一个需要共享 pdf 文件的项目,该文件存储在 firebase 存储中。
我研究了不同的共享库,似乎所有共享库都从内部存储共享文件或直接以文本形式共享 url(这可能是一个选项,但产品团队不想要它)。
所以我的问题是,除了手动下载 pdf,将其保存在内部存储中,然后将其作为任何文件共享之外,还有其他方法吗?
在我看来这不是一个很奇怪的用例,所以有人可能有更好的解决方案:)
您可以使用这个包来共享文件https://pub.dev/packages/esys_flutter_share
Future<void> _shareMixed() async {
try {
final ByteData bytes1 = await rootBundle.load('assets/image1.png');
final ByteData bytes2 = await rootBundle.load('assets/image2.png');
final ByteData bytes3 = await rootBundle.load('assets/addresses.csv');
await Share.files(
'esys images',
{
'esys.png': bytes1.buffer.asUint8List(),
'bluedan.png': bytes2.buffer.asUint8List(),
'addresses.csv': bytes3.buffer.asUint8List(),
},
'*/*',
text: 'My optional text.');
} catch (e) {
print('error: $e');
}
}
完整示例可在以下 link 代码中找到