/**
* 上传文件
*FileBean 包含 InputStream 与 fileName
* @return
*/
@Override
public String upload(FileBean fileBean) {
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String result = null;
try {
HttpPost httpPost = new HttpPost(uploadUrl);//uploadUrl 网关地址
ContentType stringBodyContentType = ContentType.create("text/plain", Consts.UTF_8);
MultipartEntityBuilder mEntityBuilder = MultipartEntityBuilder.create().setMode(HttpMultipartMode.RFC6532);
StringBody filename = new StringBody(String.valueOf(fileBean.getFileName()), stringBodyContentType);
mEntityBuilder.addPart("filename", filename);
mEntityBuilder.addBinaryBody("in",fileBean.getFileInputStream(), ContentType.MULTIPART_FORM_DATA,fileBean.getFileName());
httpPost.setEntity(mEntityBuilder.build());
response = httpclient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
result = EntityUtils.toString(response.getEntity());
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("fileName", fileBean.getFileName());
jsonObject.put("uniquekey", result);
return jsonObject.toString();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if (response != null){
response.close();
}
if (httpclient != null){
httpclient.close();
}
} catch (IOException e) {
log.error("释放占用资源出现异常! 原因:"+e.getMessage());
}
}
return null;
}
12-27