Java 如何使用header“发送文件”;范围;?

Java 如何使用header“发送文件”;范围;?,java,android,networking,connection,android-networking,Java,Android,Networking,Connection,Android Networking,我想把大文件分为几个小部分分别发送。 我尝试使用hedder“Range”,得到了“org.apache.http.client.NonRepeatableRequestException:无法使用不可重复的请求实体重试请求” 重复发送4096位的倍数。例如,让我们采取前两个步骤: i=0 发送范围0-4096 i=4096 发送范围4096-8192 修正这一行: for (int i=0; i <= fileLength; i += 4097) { int length = M

我想把大文件分为几个小部分分别发送。 我尝试使用hedder“Range”,得到了“org.apache.http.client.NonRepeatableRequestException:无法使用不可重复的请求实体重试请求”


重复发送4096位的倍数。例如,让我们采取前两个步骤: i=0 发送范围0-4096 i=4096 发送范围4096-8192

修正这一行:

for (int i=0; i <= fileLength; i += 4097) {
    int length = Math.min(4096, (int)recordingFile.length() - i + 1);
    /*...*/
}

for(int i=0;i重复发送4096位的倍数。例如,让我们执行前两个步骤:
i=0
发送范围0-4096
i=4096
发送范围4096-8192

修正这一行:

for (int i=0; i <= fileLength; i += 4097) {
    int length = Math.min(4096, (int)recordingFile.length() - i + 1);
    /*...*/
}
for(int i=0;i
for (int i=0; i <= fileLength; i += 4097) {
    int length = Math.min(4096, (int)recordingFile.length() - i + 1);
    /*...*/
}
ByteArrayInputStream bis = new ByteArrayInputStream(recordingFile);
for (int i=0; i <= fileLength; i += 4097) {
    int length = Math.min(4096, (int)recordingFile.length() - i + 1);
    byte[] bytes = new byte[length];
    bis.read(bytes);
    ByteArrayEntity entity = ByteArrayEntity(bytes);
    /*...*/
}