3

Apache HttpClient 4.x で再開可能なファイルのアップロードを実装する標準的な方法はありますか? FileBodyのwriteToメソッドをオーバーライドしようとしました

@Override
public void writeTo(final OutputStream out) throws IOException {
     if (out == null) {
            throw new IllegalArgumentException("Output stream may not be null");
     }

     BufferedInputStream stream = new BufferedInputStream(new FileInputStream(this.file));

     if(pos > 0){
        stream.skip(pos);
     }

おそらくgetContentLengthメソッドをオーバーライドする必要があることに気付きました

public long getContentLength() {
    return this.file.length() - pos;
}

または、次のようにすることもできます。

BufferedInputStream stream = new BufferedInputStream(new FileInputStream(file));
if(pos > 0){
   stream.skip(pos);
}
new InputStreamEntity(stream , file.getSize()-pos);

誰にも提案はありますか?

4

0 に答える 0