Для Drawable сохранить как изображение, я делаю это,
Bitmap image_saved=BitmapFactory.decodeResource(context.getResources(),R.drawable.icon);
FileOutputStream fOut=new FileOutputStream(path+"/"+fileName);
// Here path is either sdcard or internal storage
image_saved.compress(Bitmap.CompressFormat.JPEG,100,fOut);
fOut.flush();
fOut.close();
image_saved.recycle(); // If no longer used..
Но на самом деле, Я предлагаю вам вместо перехода от InputStream к Drawable перейти от InputStream к файлу, а затем загрузить изображение из файла. Таким образом, вы можете сохранить первый файл и использовать его при загрузке изображения.
И для URL Inputstream, чтобы написать файл, посмотрите этот урок Сохраните двоичный файл с URL