image - Flutter 如何将图像文件保存到图库中的新文件夹?

标签 image flutter

我想从相机获取文件后保存在图库中,如何创建一个新目录并保存我们从相机获取的图像文件?

 Future getImageCamera() async {
var imageFile = await ImagePicker.pickImage(
    source: ImageSource.camera, maxHeight: 20.0, maxWidth: 20.0);

DateTime ketF = new DateTime.now();
String baru = "${ketF.year}${ketF.month}${ketF.day}";

//proses kompres
final temDirk = await getTemporaryDirectory();
final pathss = temDirk.path;

int rand = new math.Random().nextInt(100000);

//mengganti nama file
// String juduld = controllerJudul.text;

img.Image gambard = img.decodeImage(imageFile.readAsBytesSync());
img.Image gambarKecilx = img.copyResize(gambard,
    700); //parameter awal adalah sumber gambar // parameter kedua ukuran width, hp=>1k

var kompresimg = new File("$pathss/image_$baru$rand.jpg")
  ..writeAsBytesSync(img.encodeJpg(gambarKecilx, quality: 95));

setState(() {
  _gambar = kompresimg;
  namafile = "image_$baru$rand.jpg";
});

最佳答案

您需要将图像保存到外部存储目录中,以便在图库中显示图像。 不是获取临时目录,而是获取外部存储目录。

final directory = await getExternalStorageDirectory();

您需要提供android/app/src/main 文件夹下的AndroidManifest.xml 文件的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然后假设您要创建一个名为 MyImages 的文件夹并将新图像添加到该文件夹​​,

final myImagePath = '${directory.path}/MyImages' ;
final myImgDir = await new Directory(myImagePath).create();

然后写入文件到路径。

var kompresimg = new File("$myImagePath/image_$baru$rand.jpg")
  ..writeAsBytesSync(img.encodeJpg(gambarKecilx, quality: 95));

获取文件个数,获取文件到列表中,检查列表长度

var listOfFiles = await myImgDir.list(recursive: true).toList();
var count = countList.length;

关于image - Flutter 如何将图像文件保存到图库中的新文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54565279/

相关文章:

android - 如何更新购物车中的项目数?

flutter - 如何在没有脚手架的情况下显示 snackBar

javascript - 悬停时使用淡入淡出效果交换图像

java - 不同的缓冲区策略大小如何影响性能?

java - 根据窗口的屏幕分辨率调整图像

flutter - 我怎样才能使这个单选 flutter ?

flutter - = 和 : in named parameters 之间的 Dart 区别

firebase - 无法从方法 'User?' 返回类型为 '_userFromFirebaseUser' 的值,因为它的返回类型为 'User'

javascript - 如何在静态网站中使用 Faceapp.js?

android - 如何在Android应用程序中上传从相机拍摄的图像