2016-03-26 9 views

答えて

2

マルチパートリクエストの改造は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); 
    } 
}; 
から採取した例であります
関連する問題