0

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

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();
    }
}
4

1 回答 1

2

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

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

String fileName = "image.jpg";
File path = Environment.getExternalStorageDirectory();
File file = new File(path, fileName);
path.mkdirs();
OutputStream os = new FileOutputStream(file);
于 2012-08-03T22:13:56.203 回答