相关疑难解决方法(0)

带有进度的HttpClient Post和MultipartEntityBuilder

我尝试使用HttpClient4.3.3和上传文件时实现进度MultipartEntityBuilder

所以实际上我用以下代码执行一个post请求

HttpClientBuilder builder = HttpClientBuilder.create();
HttpClient httpClient = builder.build();

HttpPost httpPost = new HttpPost(uploadUrl);

MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
entityBuilder.addPart("filea", new FileBody(filea));
entityBuilder.addPart("fileb", new FileBody(fileb));

final HttpEntity entity = entityBuilder.build();
httpPost.setEntity(entity);

HttpResponse response = httpClient.execute(httpPost);
Run Code Online (Sandbox Code Playgroud)

知道如何从上传中获得实际进展吗?我搜索了很多 - 但是这些例子是针对android的,而不是简单的java或旧版本,HttpClient并且对我不起作用......

java progress apache-httpclient-4.x

6
推荐指数
1
解决办法
9887
查看次数

计算带宽的公式

真的与带宽计算公式混淆.
参考带宽检测问题检查Android中的带宽率我正在尝试计算带宽如下.

long startTime = System.currentTimeMillis();
HttpResponse response = httpclient.execute(httppost);
HttpEntity httpEntity = response.getEntity();
long contentLength = httpEntity.getContentLength();
long endTime = System.currentTimeMillis();
float bandwidth = contentLength / ((endTime-startTime) / 1000); // In the refereed question it is "((endTime-startTime) * 1000)" don't know why multiplication. 
Run Code Online (Sandbox Code Playgroud)

我需要的是当前带宽(不是字节或千字节).如果以字节或位计算带宽,我不知道使用上面的公式.

如果下载时间是0秒,那么带宽应该是下载的内容长度.有人可以建议正确的公式来计算带宽.

android bandwidth

2
推荐指数
1
解决办法
6385
查看次数