代码整理

果然代码整理是很重要的大哭

private void FilesUpload(String url, Map<String, File> files,
			Map<String, String> params, Map<String, String> headers) {
		Set<String> keySet = files.keySet();
		RequestBody fileBody = null;
		RequestBody requestBody = null;
		okhttp3.Request.Builder get = new Request.Builder();
		for (String key : keySet) {
			File file = files.get(key);
			if (null != file) {
				fileBody = RequestBody.create(
						MediaType.parse("application/octet-stream"), file);

				MultipartBody.Builder builder = new MultipartBody.Builder();

				// 参数
				if (params != null) {
					Set<String> keySet2 = params.keySet();
					for (String key2 : keySet2) {
						String value2 = params.get(key2);
						builder.addFormDataPart(key, value2);
					}
				}

				requestBody = builder.addFormDataPart("file", file.getName(),
						fileBody).build();
				// 头信息
				iterHeader(headers, get);
			}
			request = get.post(requestBody).url(url).build();
		}
	}
本来是这样的代码,一整理就变成下面这样了,整个清晰多了,而且也正确了(前面的代码有错误)

private void FilesUpload(String url, Map<String, File> files,
			Map<String, String> params, Map<String, String> headers) {
		Set<String> keySet = files.keySet();
		// RequestBody fileBody = null;
		RequestBody requestBody = null;
		okhttp3.Request.Builder get = new Request.Builder();
		MultipartBody.Builder builder = new MultipartBody.Builder();

		for (String key : keySet) {
			File file = files.get(key);
			if (null != file) {
				RequestBody fileBody = RequestBody.create(
						MediaType.parse("application/octet-stream"), file);
				builder.addFormDataPart(key, file.getName(), fileBody);
			}
		}
		// 头信息
		iterHeader(headers, get);
		// 参数
		if (params != null) {
			Set<String> keySet2 = params.keySet();
			for (String key2 : keySet2) {
				String value2 = params.get(key2);
				builder.addFormDataPart(key2, value2);
			}
		}
		requestBody = builder.build();
		request = get.post(requestBody).url(url).build();
	}

}

猜你喜欢

转载自blog.csdn.net/qq_23934247/article/details/52709536