【发布时间】:2020-06-21 04:54:18
【问题描述】:
我是新来的 flutter 。我正在使用 flutter_share 包来共享文件。但现在我想一次共享多个文件。这可能与颤动吗?我正在使用 dio 下载文件和 path_provider 来获取文件路径。 如果有人知道请帮我解决这个问题.....
【问题讨论】:
标签: flutter
我是新来的 flutter 。我正在使用 flutter_share 包来共享文件。但现在我想一次共享多个文件。这可能与颤动吗?我正在使用 dio 下载文件和 path_provider 来获取文件路径。 如果有人知道请帮我解决这个问题.....
【问题讨论】:
标签: flutter
你可以使用包https://pub.dev/packages/esys_flutter_share
完整示例代码https://github.com/esysberlin/esys-flutter-share/blob/master/example/lib/main.dart
您可以将文件转换为Uint8List,然后与Share.files 共享
代码sn-p
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');
}
}
【讨论】:
此功能很容易使用 gmail 共享,并且图像文件也可以打开。但是社交媒体分享的问题就像 4 到 5 张图片与 whatsup 分享一样。图像列表显示像文件图像。帮助了解确切的解决方案并与 whatsup 图片轻松分享。
使用下面的代码:
Future<void> _shareMixed() async {
try {
final ByteData bytes1 = await rootBundle.load('assets/images/ic_back.svg');
final ByteData bytes2 = await rootBundle.load('assets/images/ic_back.svg');
final ByteData bytes3 = await rootBundle.load('assets/images/ic_back.svg');
await Share.files(
'esys images',
{
'back1.png': bytes1.buffer.asUint8List(),
'back2.png': bytes2.buffer.asUint8List(),
'back3.png': bytes3.buffer.asUint8List(),
},
'*/*',
text: 'My optional text.');
} catch (e) {
print('error: $e');
}
}
【讨论】: