【发布时间】:2019-10-06 19:24:10
【问题描述】:
我正在编写用于在设备中下载图像的代码,但存在 androidx 与 image_picker_saver 依赖项不兼容的问题。那么任何人都可以提出替代方案吗?
The complete code-
_saveImage(imageNames) async {
await PermissionHandler()
.checkPermissionStatus(PermissionGroup.storage)
.then((status) async {
if (status == PermissionStatus.denied ||
status == PermissionStatus.disabled ||
status == PermissionStatus.unknown) {
await PermissionHandler().requestPermissions(
[PermissionGroup.storage]).then((status1) async {
if (status1.containsValue(PermissionStatus.granted)) {
await get(imageNames).then((res) async {
await ImagePickerSaver.saveFile(fileData: res.bodyBytes)
.then((str) {
File.fromUri(Uri.file(str));
Fluttertoast.showToast(
msg: "Saved to gallery!",
toastLength: Toast.LENGTH_LONG,
gravity: ToastGravity.BOTTOM,
timeInSecForIos: 1,
backgroundColor: Colors.green,
textColor: Colors.white,
fontSize: 15.0);
});
});
}
});
} else if (status == PermissionStatus.granted) {
await get(imageNames).then((res) async {
await ImagePickerSaver.saveFile(fileData: res.bodyBytes).then((str) {
File.fromUri(Uri.file(str));
Fluttertoast.showToast(
msg: "Saved to gallery!",
toastLength: Toast.LENGTH_LONG,
gravity: ToastGravity.CENTER,
timeInSecForIos: 1,
backgroundColor: Colors.green,
textColor: Colors.white,
fontSize: 15.0);
});
});
}
});
}
【问题讨论】:
-
简单地说,您要做的是下载图像并将其保存到文件中?
-
是的,正在下载图像并保存在下载文件夹中。
-
唯一的问题是访问下载文件夹。如果我们能找到方法,剩下的就很容易了。如果您可以保存到应用程序目录中,那很容易。
-
保存到应用目录不会有问题
-
我稍后会分享完整的代码,现在我有点忙,但为了快速回答,请查看这些包:pub.dev/packages/cached_network_imag - pub.dev/packages/flutter_cache_manager ...