Example #1
0
  private Response multipartPost(
      String url,
      StringMap fields,
      String name,
      String fileName,
      RequestBody file,
      StringMap headers)
      throws QiniuException {
    final MultipartBuilder mb = new MultipartBuilder();
    mb.addFormDataPart(name, fileName, file);

    fields.forEach(
        new StringMap.Consumer() {
          @Override
          public void accept(String key, Object value) {
            mb.addFormDataPart(key, value.toString());
          }
        });
    mb.type(MediaType.parse("multipart/form-data"));
    RequestBody body = mb.build();
    Request.Builder requestBuilder = new Request.Builder().url(url).post(body);
    return send(requestBuilder, headers);
  }
    public void writeTo(BufferedSink bufferedsink)
        throws IOException
    {
        int i = 0;
        for (int k = partHeaders.size(); i < k; i++)
        {
            Object obj = (Headers)partHeaders.get(i);
            RequestBody requestbody = (RequestBody)partBodies.get(i);
            bufferedsink.write(MultipartBuilder.access$000());
            bufferedsink.write(boundary);
            bufferedsink.write(MultipartBuilder.access$100());
            if (obj != null)
            {
                int j = 0;
                for (int l = ((Headers) (obj)).size(); j < l; j++)
                {
                    bufferedsink.writeUtf8(((Headers) (obj)).name(j)).write(MultipartBuilder.access$200()).writeUtf8(((Headers) (obj)).value(j)).write(MultipartBuilder.access$100());
                }

            }
            obj = requestbody.contentType();
            if (obj != null)
            {
                bufferedsink.writeUtf8("Content-Type: ").writeUtf8(((MediaType) (obj)).toString()).write(MultipartBuilder.access$100());
            }
            long l1 = requestbody.contentLength();
            if (l1 != -1L)
            {
                bufferedsink.writeUtf8("Content-Length: ").writeUtf8(Long.toString(l1)).write(MultipartBuilder.access$100());
            }
            bufferedsink.write(MultipartBuilder.access$100());
            ((RequestBody)partBodies.get(i)).writeTo(bufferedsink);
            bufferedsink.write(MultipartBuilder.access$100());
        }

        bufferedsink.write(MultipartBuilder.access$000());
        bufferedsink.write(boundary);
        bufferedsink.write(MultipartBuilder.access$000());
        bufferedsink.write(MultipartBuilder.access$100());
    }