私は、マルチパートを使って複数の画像(この場合は10以上)をサーバーにアップロードするためにokHttpを使用しています。 私と私の友人は議論を持ちました、私はすべての画像を1回のリクエストでアップロードすると言っています。 前の画像がアップロードされたら、一度に1つのリクエストを送信すると言っています。 これは正しいことです。そのため、サーバーは高速で動作し、タイムアウトは発生しません。複数の画像をサーバーにアップロードするにはどうすればいいですか
2
A
答えて
1
あなたは以下のようにBase64形式(文字列)を送信し、
/**
* Encodes the image to Base64.
*/
private String encodeImage(String photoPath) {
File imagefile = new File(photoPath);
FileInputStream fis = null;
try {
fis = new FileInputStream(imagefile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Bitmap bm = BitmapFactory.decodeStream(fis);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 80, baos);
byte[] b = baos.toByteArray();
return Base64.encodeToString(b, Base64.DEFAULT);
}
を文字列として符号化されたすべての写真が含まれている1つのテキストファイルを作成し、ファイルをアップロードするためにMultipartUtilityを使用することができます。あなたの場合
を一度にすべてのイメージをサーバーに送信し、バックグラウンドのスレッドでそれを行うことを確認します。一度に1つのイメージを送信することは、一度にすべてのイメージを送信することが良い方法であるということを意味しないサーバーに送信するバルクイメージがある場合、悪い考えです。それはあなたが5のグループでそれを送信する方が良いです – Jois
@ジョイスkkしかし、あなたはどのように複数の仕事を教えてくれますか?イメージを1つずつ送信するのか、それともリクエストが失敗するのか、最後に正常に送信されたイメージを取得する方法はありますか? – Rookie
あなたはどのライブラリを使用していますか? – Jois