Flutter Image gallery saver - 如何访问路径
Flutter Image gallery saver - how to access path
我正在使用 Image gallery saver 插件来保存图像。方法
await ImageGallerySaver.saveImage(pngBytes)
returns一个对象
{filePath: file:///storage/emulated/0/wallpapers/1608205629471.jpg, errorMessage: null, isSuccess: true}
我想获取新保存文件的路径(/storage/emulated/0/wallpapers/1608205629471.jpg
)。
有办法实现吗?
那是一个Map对象。像这样访问文件路径 String
:
var response = await ImageGallerySaver.saveImage(pngBytes);
// value = json['key']
var path = response['filePath']; // 'file:///storage/emulated/0/wallpapers/1608205629471.jpg'
首先,您需要与要检索的数据库中的图像 ID 相同。
然后用这个方法传递 id 我给出了一个我用过的片段:
import 'package:path/path.dart' as p;
Directory _appDocsDir;
class ImageCashUtil {
ImageCashUtil() {
init();
}
init() async {
WidgetsFlutterBinding.ensureInitialized();
_appDocsDir = await getApplicationDocumentsDirectory();
return _appDocsDir;
}
File fileFromDocsDir(String filename) {
String pathName = p.join(_appDocsDir.path, filename);
return File(pathName);
}
}
您可以从这样的地图访问密钥
final imagePath = result['filePath'].toString();
然后,如果您需要使用正则表达式
删除 file://
的位置路径
final imagePath = result['filePath'].toString().replaceAll(RegExp('file://'), '');
我正在使用 Image gallery saver 插件来保存图像。方法
await ImageGallerySaver.saveImage(pngBytes)
returns一个对象
{filePath: file:///storage/emulated/0/wallpapers/1608205629471.jpg, errorMessage: null, isSuccess: true}
我想获取新保存文件的路径(/storage/emulated/0/wallpapers/1608205629471.jpg
)。
有办法实现吗?
那是一个Map对象。像这样访问文件路径 String
:
var response = await ImageGallerySaver.saveImage(pngBytes);
// value = json['key']
var path = response['filePath']; // 'file:///storage/emulated/0/wallpapers/1608205629471.jpg'
首先,您需要与要检索的数据库中的图像 ID 相同。
然后用这个方法传递 id 我给出了一个我用过的片段:
import 'package:path/path.dart' as p;
Directory _appDocsDir;
class ImageCashUtil {
ImageCashUtil() {
init();
}
init() async {
WidgetsFlutterBinding.ensureInitialized();
_appDocsDir = await getApplicationDocumentsDirectory();
return _appDocsDir;
}
File fileFromDocsDir(String filename) {
String pathName = p.join(_appDocsDir.path, filename);
return File(pathName);
}
}
您可以从这样的地图访问密钥
final imagePath = result['filePath'].toString();
然后,如果您需要使用正则表达式
删除file://
的位置路径
final imagePath = result['filePath'].toString().replaceAll(RegExp('file://'), '');