Android アプリケーションからサーバーに画像をアップロードしています。
電話では、アップロード後の画像サイズは 1.5MB です。画像のサイズは 250KB です。
画像の幅と高さは変わりません
AsyncHttpClient client = new AsyncHttpClient();
File myFile = new File(imagePath);
RequestParams params = new RequestParams();
try {
params.put("img", myFile);
params.put("key1", request.getText().toString());
} catch(FileNotFoundException e) {
Log.d("MyApp", "File not found!!!" + imagePath);
}
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
answer.setText(response);
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onFailure(Throwable arg0, String arg1) {
super.onFailure(arg0, arg1);
Log.d("MyApp", arg0.getMessage().toString());
}
});
サーバーでは、以下のサーブレット コードを使用して画像を取得しています。
Part part = request.getPart("key1");
Part img = request.getPart("img");
if (part!=null && img!=null){
String name = getValue(part);
InputStream is = img.getInputStream();
BufferedImage bufImage = ImageIO.read(is);
ImageIO.write(bufImage, "jpg", new File("c:/file_"+name+".jpg"));
out.println(name + " I got your image ");
} else {
out.println("image upload failed");
}
out.flush();
out.close();
ありがとう