android向服務器post文件的步驟及實現代碼:
實現將圖片轉換成Base64加密String的類:
public String bitmaptoString(Bitmap bitmap) { ?
// 將Bitmap轉換成字符串 ?
String string = null; ?
ByteArrayOutputStream bStream = new ByteArrayOutputStream(); ?
bitmap.compress(CompressFormat.PNG, 100, bStream); ?
?
byte[] bytes = bStream.toByteArray(); ?
?
string = Base64.encodeToString(bytes, Base64.DEFAULT); ?
return string; ?
}
2.用post方法,將數據發送到服務器
public static String doPost(String requestUrl, String requestData)
throws ClientProtocolException, IOException {
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, TIMEOUT);
HttpConnectionParams.setSoTimeout(params, TIMEOUT);
HttpClient client = new DefaultHttpClient(params);
/* 建立HTTPPost對象 */
HttpPost httpRequest = new HttpPost(requestUrl);
String strResult = null;
/* 添加請求參數到請求對象 */
StringEntity stringEntity = new StringEntity(requestData, "UTF-8");
httpRequest.setEntity(stringEntity);
httpRequest.setHeader("Charset", "UTF-8");
httpRequest.setHeader("Content-Type", "text/xml");
HttpResponse httpResponse = null;
httpResponse = client.execute(httpRequest);
if (httpResponse == null) {
return strResult;
}
return strResult;
}