将编辑过的图像保存到SD卡

时间:2010-09-23 01:17:04

标签: android

我正在从图库中打开图片,调整其大小,并尝试将已调整大小的版本保存到应用程序数据文件中,以便将来可以抓取它。我的问题是当我尝试用输入流写它时,我一直得到一个FileNotFoundException。

这是它试图写的文件。 “/mnt/sdcard/Android/data/foundcake.myslide/files/IMG_20100918_133128.png”

我在这里错过了任何重要的步骤吗?

    File storagePath = new File(Environment.getExternalStorageDirectory() + "/Android/data/foundcake.myslide/files/");
    storagePath.mkdirs();

    Debug.print("STORAGE PATH " + storagePath);

    Pattern pattern = Pattern.compile("/([^/]+)\\.[^/]+$");
    Matcher matcher = pattern.matcher(filePath);
    String fileName = "";
    while (matcher.find()) {
        fileName = matcher.group(1);
    }

    Debug.print("FILE NAME " + fileName);

    File cached = new File(storagePath, fileName + ".png");

    Debug.print("NEW FILE " + cached.toString());

    try {
        FileOutputStream out = new FileOutputStream(cached);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:1)

需要

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

糟糕。