// Remove blank parameters
for (Map.Entry<String, Object> param : params.entrySet()) {
if (param.getValue() instanceof String) {
String value = (String) param.getValue();
if (StringUtils.isNotBlank(value)) {
multipart.addPart(param.getKey(), new StringBody(value));
}
} else if (param.getValue() instanceof Collection) {
for (Object value : (Collection) param.getValue()) {
multipart.addPart(param.getKey()+"[]", new StringBody(Cloudinary.asString(value)));
}
}
}
if (file instanceof String && !((String) file).matches("https?:.*|s3:.*|data:[^;]*;base64,([a-zA-Z0-9/+\n=]+)")) {
file = new File((String) file);
}
if (file instanceof File) {
multipart.addPart("file", new FileBody((File) file));
} else if (file instanceof String) {
multipart.addPart("file", new StringBody((String) file));
} else if (file instanceof byte[]) {
multipart.addPart("file", new ByteArrayBody((byte[]) file, "file"));
} else if (file == null) {
// no-problem
} else {