Является ли хорошей практикой отправлять изображения в строке base64 с android на PHP?

В моем приложении для Android я беру изображение или выбираю изображение из галереи. то я кодирую это изображение в строке base64. то я отправляю это изображение на PHP в формате JSON или с обычным почтовым запросом. затем я декодирую строку base64 в PNG-изображение и сохраняю на сервере. затем сохраните путь этого изображения в столбец mySQL image_url.

Это то, как я сейчас работаю. Создаем файл образа. Но иногда он создает поврежденный файл изображения (полный черный или 0 КБ или 20 КБ в размере). и Пикассо не работает над такими файлами. Он показывает, что ошибка декодера ошибки picasso.

Этот способ уменьшает качество изображения 1,5 МБ изображения (на устройстве) до изображения 50 КБ (на сервере). мой код для кодирования base64 есть,

` // method for bitmap to base64 public static String encodeTobase64(Bitmap image) { Bitmap immage = image; ByteArrayOutputStream baos = new ByteArrayOutputStream(); immage.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] b = baos.toByteArray(); String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT); return imageEncoded; }` 

Если у кого есть предложения, пожалуйста, помогите. или другим способом для отправки и сохранения изображений.

EDITS приветствуются.