您的位置:首页 > 移动开发 > Android开发

Uploading an image to a webserver – Android/Java

2013-05-17 15:12 441 查看
// create a bitmap variable before anything;

private Bitmap bitmap;

// variable to set a name to the image into SD card;
// this variable, you have to put the path for the File, It's up to you;

public static String exsistingFileName;

// sendData is the function name, to call it, you can use something like sendData(null);
// remember to wrap it into a try catch;

public void sendData(String[] args) throws Exception {
try {

HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();

// here, change it to your php;

HttpPost httpPost = new HttpPost("http://www.myURL.com/myPHP.php");
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
bitmap = BitmapFactory.decodeFile(exsistingFileName);

// you can change the format of you image compressed for what do you want;
//now it is set up to 640 x 480;

Bitmap bmpCompressed = Bitmap.createScaledBitmap(bitmap, 640, 480, true);
ByteArrayOutputStream bos = new ByteArrayOutputStream();

// CompressFormat set up to JPG, you can change to PNG or whatever you want;

bmpCompressed.compress(CompressFormat.JPEG, 100, bos);
byte[] data = bos.toByteArray();

// sending a String param;

entity.addPart("myParam", new StringBody("my value"));

// sending a Image;
// note here, that you can send more than one image, just add another param, same rule to the String;

entity.addPart("myImage", new ByteArrayBody(data, "temp.jpg"));

httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost, localContext);
BufferedReader reader = new BufferedReader(new InputStreamReader( response.getEntity().getContent(), "UTF-8"));
String sResponse = reader.readLine();

} catch (Exception e) {

Log.v("myApp", "Some error came up");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  upload image
相关文章推荐