Android - 将图像保存到卡会引发错误

时间:2012-08-03 22:01:38

标签: android file

我正在尝试将图像保存到卡中,并且我得到错误“<文件路径>(IS A DIRECTORY)”,尽管文件的绝对路径是正确的,但文件是图像而不是目录。我在这做错了什么?我需要提一下,在将图像保存到磁盘之前,我创建了所有必需的目录,并且我拥有所有权限。

file.getAbsolutePath() //returns something like this:

/mnt/sdcard/app_name/folder/image.jpg

.. 我构建了这样的图片文件:File img = new File(dir, image.jpg);

public static void saveImg(File pic, Bitmap picture) {
    try {
        FileOutputStream out = new FileOutputStream(pic);
        picture.compress(Bitmap.CompressFormat.JPEG, 100, out);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:2)

第一步是检查您的SD卡,看看您是否真的有一个具有该名称的目录(如果您在创建流之前在图像文件上调用mkdirs())。

然后,您可以尝试使用此代码创建您的信息流:

String fileName = "image.jpg";
File path = Environment.getExternalStorageDirectory();
File file = new File(path, fileName);
path.mkdirs();
OutputStream os = new FileOutputStream(file);