将bitmap对象保存到本地,返回保存的图片路径

2019-04-15 13:55发布

private static final String SD_PATH = "/sdcard/dskqxt/pic/"; private static final String IN_PATH = "/dskqxt/pic/"; /** * 随机生产文件名 * * @return */ private static String generateFileName() { return UUID.randomUUID().toString(); } /** * 保存bitmap到本地 * * @param context * @param mBitmap * @return */ public static String saveBitmap(Context context, Bitmap mBitmap) { String savePath; File filePic; if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { savePath = SD_PATH; } else { savePath = context.getApplicationContext().getFilesDir() .getAbsolutePath() + IN_PATH; } try { filePic = new File(savePath + generateFileName() + ".jpg"); if (!filePic.exists()) { filePic.getParentFile().mkdirs(); filePic.createNewFile(); } FileOutputStream fos = new FileOutputStream(filePic); mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } return filePic.getAbsolutePath(); }