private String filterFilename(String filename) {
Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"<>\\|]");
Matcher matcher = pattern.matcher(filename);
return matcher.replaceAll("");
}
@Override
public String uploadFile(File file, String filename) throws IOException {
// 对文件名过滤
String ff = filterFilename(filename);
String url = "https://qyapi.weixin.qq.com/";
HttpPost httppost = new HttpPost(url);
// 用此mode防止上传文件中文名乱码
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create().setMode(HttpMultipartMode.RFC6532);
multipartEntityBuilder.addBinaryBody("file", file, ContentType.APPLICATION_OCTET_STREAM, ff);
HttpEntity httpEntity = multipartEntityBuilder.build();
httppost.setEntity(httpEntity); //设置实体
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
HttpEntity resEntity = response.getEntity();
String res = EntityUtils.toString(resEntity);
log.info("上传文件到企业微信返回:{}", res);
EntityUtils.consume(resEntity);
return JSONObject.parseObject(res).getString("media_id");
}
return null;
}
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.3</version>
</dependency>
POST 上传文件
最新推荐文章于 2023-12-01 16:00:40 发布