I want to get progress when uploading any image to server. Like 1%, 30% etc. And I used all solutions already provided on different websites, but I get progress for reading of file in writing of DataOutputStream.
Ex.
while (bytesRead > 0) {
dos.write(buffer, 0, bufferSize);
sentBytes += bufferSize;
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
if (bytesAvailable > 0) {
float progress = ((float) sentBytes / (float) totalAvailable) * 100.0f;
if (progress % 10 == 0) {
publishProgress(sourceFile, (int) progress);
}
} else {
publishProgress(sourceFile, 100);
}
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
Here i get 100% instantly. But after getting 100% Its still uploading image at this line :
/*Responses from the server (code and message)*/
int serverResponseCode = conn.getResponseCode();
I think only this line is only responsible for uploading image. So how can I get actual server-uploading-progress.
Is there any requirement at server side? And my server supports
connection.setRequestProperty("Content-Type", "application/octet-stream");
Please help me for this. Thanks