将图片保存在新目录中

时间:2015-04-13 11:37:34

标签: android android-camera filewriter

我想在我自己的目录中保存太多图像,这可能是保存图像的目录

  Uri uriTarget = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new ContentValues());

OutputStream imageFileOS;

这是我给我的图像uri目标图像将保存

 imageFileOS = getContentResolver().openOutputStream(uriTarget);

                imageFileOS.write(arg0);

                imageFileOS.flush();

                imageFileOS.close();

如何通过制作我自己的目录并在那里保存图像来实现这一目标

2 个答案:

答案 0 :(得分:3)

您好我想分享创建和保存自定义目录中的图像的方法,如下所示:

private void createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) {

File direct = new File(Environment.getExternalStorageDirectory() + "/DirName");

if (!direct.exists()) {
    File wallpaperDirectory = new File("/sdcard/DirName/");
    wallpaperDirectory.mkdirs();
}

File file = new File(new File("/sdcard/DirName/"), fileName);
if (file.exists()) {
    file.delete();
}
try {
    FileOutputStream out = new FileOutputStream(file);
    imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out);
    out.flush();
    out.close();
} catch (Exception e) {
    e.printStackTrace();
}

}

您应该提供要保存的位图对象和您要保存的目录名称,如下所示:

createDirectoryAndSaveFile(imageToSave,文件名);

答案 1 :(得分:0)

当手机或相机拍摄JPEG图像时,涉及繁琐的位图的解决方案(IMHO)无关紧要。

有关几乎瞬时的解决方案,请参见此处的解决方案:https://stackoverflow.com/a/7982964/5426777

new FileOutputStream(myPath).write(byte[] myPictureCallbackBytes)