1、保存图片Utils
getExternalCacheDir() // 对应用中缓存文件夹Environment.getExternalStorageDirectory().getAbsolutePath()//根
public class ImageSaveUtils {
//保存文件到指定路径
public static boolean saveImageToGallery(Context context, Bitmap bmp) {
// 保存图片目录 (根目录下XXX)
File appDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/XXX/XXX");
if (!appDir.exists()) {
/*mkdirs();//多级目录*/
Boolean isSuccess= appDir.mkdirs();
DebugLog.i("创建"+isSuccess.toString());
}else{
DebugLog.i("已有文件夹");
}
// 文件名
String fileName = "XXexport"+System.currentTimeMillis() + ".jpg";
File file = new File(appDir, fileName);
try {
DebugLog.i("开始保存");
FileOutputStream fos = new FileOutputStream(file);
//通过io流的方式来压缩保存图片
boolean isSuccess = bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
//把文件插入到系统图库
//MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);
//保存图片后发送广播通知更新数据库
Uri uri = Uri.fromFile(file);
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
if (isSuccess) {
return true;
} else {
return false;
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}
2、使用
// 网络图片转 bitmap
Bitmap bitmap = ImageLoader.getInstance().loadImageSync(url);
boolean isSaveSuccess = ImageSaveUtils.saveImageToGallery(Context, bitmap);