123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package okhttp.builder;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import okhttp.request.PostFormRequest;
- import okhttp.request.RequestCall;
- /**
- * Created by zhy on 15/12/14.
- */
- public class PostFormBuilder extends OkHttpRequestBuilder<PostFormBuilder> implements HasParamsable
- {
- private List<FileInput> files = new ArrayList<>();
- @Override
- public RequestCall build()
- {
- return new PostFormRequest(url, tag, params, headers, files,id).build();
- }
- public PostFormBuilder files(String key, Map<String, File> files)
- {
- for (String filename : files.keySet())
- {
- this.files.add(new FileInput(key, filename, files.get(filename)));
- }
- return this;
- }
- public PostFormBuilder addFile(String name, String filename, File file)
- {
- files.add(new FileInput(name, filename, file));
- return this;
- }
- public static class FileInput
- {
- public String key;
- public String filename;
- public File file;
- public FileInput(String name, String filename, File file)
- {
- this.key = name;
- this.filename = filename;
- this.file = file;
- }
- @Override
- public String toString()
- {
- return "FileInput{" +
- "key='" + key + '\'' +
- ", filename='" + filename + '\'' +
- ", file=" + file +
- '}';
- }
- }
- @Override
- public PostFormBuilder params(Map<String, String> params)
- {
- this.params = params;
- return this;
- }
- @Override
- public PostFormBuilder addParams(String key, String val)
- {
- if (this.params == null)
- {
- params = new LinkedHashMap<>();
- }
- params.put(key, val);
- return this;
- }
- }
|