這裏服務器是代碼...上傳圖片與Android HttpClient.execute(postRequest)
Bitmap bm = myImageToUpload;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bm.compress(CompressFormat.JPEG, 100, bos);
byte[] data = bos.toByteArray();
HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(myServerURL);
ByteArrayBody bab = new ByteArrayBody(data, imageName);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("uploadedfile", bab);
reqEntity.addPart("fileName", new StringBody("image"));
reqEntity.addPart("mimeType", new StringBody("images/jpeg"));
reqEntity.addPart("extraInfo", new StringBody(extraInfo));
postRequest.setEntity(reqEntity);
HttpResponse response = httpClient.execute(postRequest);
此代碼上傳我的圖片和其他信息到服務器一起。有一個更好的方法嗎?
我的顧慮 - 速度很慢,有時需要20分鐘才能將大圖片上傳到服務器。服務器上的圖像大小大於原始大小。
至少,我如何上傳圖像,以便服務器上的圖像與我的android設備上的圖像大小完全相同?
這是完整的代碼嗎?我沒有看到任何'.close()'。確保關閉對象。 – 2014-09-24 18:23:46
爲什麼不嘗試使用第三方庫,以確保使所有的工作,因爲你給它一個有效的文件? – Pavlos 2014-09-24 19:07:40
這不是完整的代碼。但是完整代碼中沒有.close()。不是垃圾收集器照顧它嗎?還是應該關閉它們? – 2014-09-24 21:17:39