package com.cheng.networkframestudy.okhttp.frame.request; import com.cheng.networkframestudy.okhttp.frame.util.ExceptionUtil; import java.io.File; import java.util.Map; import okhttp3.MediaType; import okhttp3.Request; import okhttp3.RequestBody; /** * 李旺成 * 2016年2月20日08:20:44 */ public class PostFileRequest extends OkHttpRequest { private static MediaType MEDIA_TYPE_STREAM = MediaType.parse("application/octet-stream"); private File mFile; private MediaType mMediaType; public PostFileRequest(String url, Object tag, Map<String, String> params, Map<String, String> headers, File file, MediaType mediaType) { super(url, tag, params, headers); this.mFile = file; this.mMediaType = mediaType; if (this.mFile == null) { ExceptionUtil.illegalArgument("the mFile can not be null !"); } if (this.mMediaType == null) { this.mMediaType = MEDIA_TYPE_STREAM; } } @Override protected RequestBody buildRequestBody() { return RequestBody.create(mMediaType, mFile); } @Override protected Request buildRequest(Request.Builder builder, RequestBody requestBody) { return builder.post(requestBody).build(); } @Override public String toString() { return super.toString() + ", requestBody{uploadfilePath=" + mFile.getAbsolutePath() + "} "; } }