Androidデバイスからサーバーに画像をアップロードしたい小さなAndroidアプリケーションを開発しています。そのために使っHttpURLConnection
ています。
私は次の方法でこれをやっています:
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();
使用してByteArrayOutputStream
いますが、httpurlconnection でそのデータを渡す方法がわかりません。これは生の画像データを渡す正しい方法ですか。画像データを含むバイト配列を送信したかっただけです。変換もマルチパート送信もありません。私のコードはエラーなしで正常に動作していますが、サーバーから返信がありました
{"error":"Mimetype not supported: inode\/x-empty"}
私はhttpclientを使用してこれを行い、それでsetEntity
うまく機能しました。しかし、urlconnection を使用したいです。
私は何か間違ったことをしていますか?これを行う方法?ありがとうございました。