下面列出了com.squareup.okhttp.MultipartBuilder#addPart ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void addParams(MultipartBuilder builder, Map<String, String> params)
{
if (builder == null)
{
throw new IllegalArgumentException("builder can not be null .");
}
if (params != null && !params.isEmpty())
{
for (String key : params.keySet())
{
builder.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""),
RequestBody.create(null, params.get(key)));
}
}
}
@Override
public RequestBody buildRequestBody()
{
MultipartBuilder builder = new MultipartBuilder()
.type(MultipartBuilder.FORM);
addParams(builder, params);
if (files != null)
{
RequestBody fileBody = null;
for (int i = 0; i < files.length; i++)
{
Pair<String, File> filePair = files[i];
String fileKeyName = filePair.first;
File file = filePair.second;
String fileName = file.getName();
fileBody = RequestBody.create(MediaType.parse(guessMimeType(fileName)), file);
builder.addPart(Headers.of("Content-Disposition",
"form-data; name=\"" + fileKeyName + "\"; filename=\"" + fileName + "\""),
fileBody);
}
}
return builder.build();
}
private void addParams(MultipartBuilder builder)
{
if (params != null && !params.isEmpty())
{
for (String key : params.keySet())
{
builder.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""),
RequestBody.create(null, params.get(key)));
}
}
}