public static void policyUploadFile(UploadPolicyResult uploadPolicyResult, String localFile) throws Exception {
File file = new File(localFile);
Map<String, String> requestFiled = new LinkedHashMap<>();
requestFiled.put("key", uploadPolicyResult.getDir() + file.getName());
requestFiled.put("OSSAccessKeyId", uploadPolicyResult.getAccessid());
requestFiled.put("policy", uploadPolicyResult.getPolicy());
requestFiled.put("Signature", uploadPolicyResult.getSignature());
requestFiled.putAll(uploadPolicyResult.getFormFields());
HttpPost httpPost = new HttpPost(uploadPolicyResult.getHost());
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
for (Map.Entry<String, ?> entry : requestFiled.entrySet()) {
builder.addTextBody(entry.getKey(), entry.getValue().toString());
}
String contentType = new MimetypesFileTypeMap().getContentType(file);
builder.addPart("file", new FileBody(file, contentType));
HttpEntity reqEntity = builder.build();
httpPost.setEntity(reqEntity);
try (CloseableHttpResponse httpResponse = HttpClients.createDefault().execute(httpPost)) {
result = EntityUtils.toString(httpResponse.getEntity());
}
}