我正在尝试将图像保存到卡中,并且我得到错误“<文件路径>(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();
}
}
答案 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);