【发布时间】:2017-01-09 11:53:45
【问题描述】:
我想在将任何图像上传到服务器时取得进展。比如1%、30%等。 而且我使用了不同网站上已经提供的所有解决方案,但是我在读取 DataOutputStream 的文件方面取得了进展。
例如。
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);
}
在这里,我立即获得 100%。但是在获得 100% 之后,它仍然在这一行上传图片:
/*Responses from the server (code and message)*/
int serverResponseCode = conn.getResponseCode();
我认为只有这一行只负责上传图片。 那么我怎样才能获得实际的服务器上传进度。
服务器端有什么要求吗? 而且我的服务器支持
connection.setRequestProperty("Content-Type", "application/octet-stream");
请帮助我。谢谢
【问题讨论】:
标签: android server image-uploading