android上传bitmap文件到服务器

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"); 

}

 

你可能感兴趣的:(android上传bitmap文件到服务器)