android-如何使用翻新之类的文件流式传输到服务器?

我可以使用Retrofit的MultiPart注释将文件顺利上传到服务器.

但是,我想要的是将仍在写入磁盘的文件流式传输到服务器.可以使用翻新吗?

解决方法:

多部分请求的改进使用okhttp3.RequestBody.因此,您必须创建自己的RequestBody来生成数据.

这是取自OkHttp食谱(https://github.com/square/okhttp/wiki/Recipes#post-streaming)的示例

public static final MediaType MEDIA_TYPE_MARKDOWN
  = MediaType.parse("text/x-markdown; charset=utf-8");

RequestBody requestBody = new RequestBody() {
  @Override public MediaType contentType() {
    return MEDIA_TYPE_MARKDOWN;
  }

  @Override public void writeTo(BufferedSink sink) throws IOException {
    sink.writeUtf8("Numbers\n");
    sink.writeUtf8("-------\n");
    for (int i = 2; i <= 997; i++) {
      sink.writeUtf8(String.format(" * %s = %s\n", i, factor(i)));
    }
  }

  private String factor(int n) {
    for (int i = 2; i < n; i++) {
      int x = n / i;
      if (x * i == n) return factor(x) + " × " + i;
    }
    return Integer.toString(n);
  }
};
上一篇:修改tt模板让ADO.NET C# POCO Entity Generator With WCF Support 生成的实体类继承自定义基类


下一篇:java-将@Deprecated批注添加到超类,子类或两者都添加?