[英]Spring boot Multipart file upload using Client Side Java Code
[英]How to get process in client side when upload image using multipart
我正在一個需要使用Multipart上傳圖像的項目。 這是我的代碼:
public void doUploadGIF(File image) {
try {
long start = System.currentTimeMillis();
HttpPost httppost = new HttpPost(
"myurl");
MultipartEntity multipartEntity = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntity.addPart("gif", new FileBody(image));
httppost.setEntity(multipartEntity);
mHttpClient.execute(httppost, new PhotoUploadResponseHandler());
long end = System.currentTimeMillis();
System.out.println("Time for uploading:"
+ String.valueOf(end - start));
} catch (Exception e) {
Log.e("Upload", "Error while uploading");
}
}
private class PhotoUploadResponseHandler implements ResponseHandler<Object> {
@Override
public Object handleResponse(HttpResponse response)
throws ClientProtocolException, IOException {
HttpEntity r_entity = response.getEntity();
String responseString = EntityUtils.toString(r_entity);
Log.d("UPLOAD", responseString);
return null;
}
}
現在,在客戶端(Android)中,我讓用戶知道了上傳過程(percent)。 我怎樣才能做到這一點? 感謝您的關注 !
在我的情況下,我以KB為單位使用文件大小,並以KB為單位設置進度條的限制。 和更新進度條,我用:
int bufferLength = 1024;
File file = new File(ImgURI);
mFileLen = file.length();
int maxBufferSize = 1*1024*1024;
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
for (int i = 0; i < bufferSize; i +=bufferLength) {
progress = i/1024;
progressBar1.setMax(kbfilesize);
publishProgress(progress);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.