Gov*_*iyo 6 share dart flutter
我知道从颤振应用程序共享的官方包。 https://pub.dartlang.org/packages/share
共享文本和 url 很容易,但我想共享来自服务器的图像意味着它是 URL 格式,所以可能首先我必须将 url 转换为图像,然后我必须将图像转换为 base64 然后我想我可以共享图像但我正在寻找分享图像+文本+网站的简单方法。
官方分享包怎么办?任何其他维护良好的软件包?
官方共享包在 v0.6.5 中添加了对共享文件的支持,因此现在您可以将图像保存到文件并共享该文件。请参阅下面的示例,其中包含从互联网下载的图像:
import 'package:http/http.dart';
import 'package:share/share.dart';
import 'package:path_provider/path_provider.dart';
void shareImage() async {
final response = await get(imageUrl);
final bytes = response.bodyBytes;
final Directory temp = await getTemporaryDirectory();
final File imageFile = File('${temp.path}/tempImage');
imageFile.writeAsBytesSync(response.bodyBytes);
Share.shareFiles(['${temp.path}/tempImage'], text: 'text to share',);
}
Run Code Online (Sandbox Code Playgroud)
简单共享似乎就是您正在寻找的:
import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:simple_share/simple_share.dart';
import 'package:flutter/services.dart';
void main() => runApp(SimpleShareApp());
class SimpleShareApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
showPerformanceOverlay: false,
title: 'Simple Share App',
home: MyHomePage()
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
Future<String> getFilePath() async {
try {
String filePath = await FilePicker.getFilePath(type: FileType.ANY);
if (filePath == '') {
return "";
}
print("File path: " + filePath);
return filePath;
} on PlatformException catch (e) {
print("Error while picking the file: " + e.toString());
return null;
}
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('File Picker Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
onPressed: () {
SimpleShare.share(
title: "Share my message",
msg:
"Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod " +
"tempor incidunt ut labore et dolore magna aliqua.",
);
},
child: Text('Share text!'),
),
RaisedButton(
onPressed: () async {
final path = await getFilePath();
if (path != null && path.isNotEmpty) {
final uri = Uri.file(path);
SimpleShare.share(
uri: uri.toString(),
title: "Share my file",
msg: "My message");
}
},
child: Text('Share file!'),
),
],
),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4593 次 |
最近记录: |