Cargando la matriz de bytes de imagen con httpurlconnection y Android

Estoy desarrollando una pequeña aplicación para Android en la que quería cargar la imagen de mi dispositivo Android a mi servidor. estoy usandoHttpURLConnection para eso.

Estoy haciendo esto de la siguiente manera:

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.arrow_down_float);

ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, bos);

byte[] data = bos.toByteArray();

connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "image/jpeg");
connection.setRequestMethod(method.toString());

ByteArrayOutputStream bout = new ByteArrayOutputStream(); 
bout.write(data); 
bout.close();

estoy usandoByteArrayOutputStream pero no sé cómo pasar esos datos con mi httpurlconnection. Es esta la forma correcta de pasar datos de imagen en bruto. Solo quería enviar una matriz de bytes que contenga datos de imagen. Sin conversión o sin envío multiparte. Mi código funciona bien sin ningún error, pero mi servidor me responde{"error":"Mimetype not supported: inode\/x-empty"}

Hice esto con httpclient usandosetEntity y está funcionando bien con eso. Pero quiero usar urlconnection.

¿Estoy haciendo algo mal? ¿Como hacer esto? Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta