前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >调用图片上传http接口,利用httpClient模拟请求

调用图片上传http接口,利用httpClient模拟请求

作者头像
有一只柴犬
发布2024-01-25 10:41:00
2120
发布2024-01-25 10:41:00
举报
文章被收录于专栏:JAVA体系

上传图片除了上传到本地服务器之外,通常需要上传到对方的服务器中,这时候除了上传到我们本地然后做NFS之外(比较不合理),还需要直接捅对方接口,直接将文件上传到对方服务器,这时候就需要利用httpclient来模拟一个图片上传请求。

代码语言:javascript
复制
public static JSONObject postImg(String url, File savedDir,
String saveFileName) {


HttpClient client = new HttpClient();
// 返回结果集
JSONObject resJson = new JSONObject();


try {
// 判断白村文件存不存在
if (!savedDir.exists()) {
resJson.put("status", "-1");
resJson.put("msg", "保存文件不存在");
return resJson;
}
PostMethod postMethod = new PostMethod(url);


// FilePart:用来上传文件的类
FilePart filePart = new FilePart("img", new File(savedDir,
saveFileName));
Part[] parts = { filePart };
// 对于MIME类型的请求,httpclient建议全用MulitPartRequestEntity进行包装
MultipartRequestEntity mre = new MultipartRequestEntity(parts,
postMethod.getParams());
postMethod.setRequestEntity(mre);


// 执行请求,返回状态码
int status = client.executeMethod(postMethod);


if (status == HttpStatus.SC_OK) {
LOG.info("上传到易信服务器请求成功,返回信息:"
+ postMethod.getResponseBodyAsString());
String result = postMethod.getResponseBodyAsString();
if (result != null && !result.trim().equals("")) {
// 解析返回信息
resJson = JSONObject.parseObject(result);
String code = resJson.get("errcode").toString(); // 对方接口请求返回结果:0成功
// 其余失败
if (code != null && code.trim().equals("0")) {
LOG.info("上传成功。返回信息:"
+ postMethod.getResponseBodyAsString());
resJson.put("status", "0");
return resJson;
} else {
LOG.info("上传失败。返回信息:" + resJson.get("msg").toString());
resJson.put("status", "-1");
return resJson;
}
}
} else {
LOG.info("请求易信接口上传图片,请求失败。");
resJson.put("status", "-1");
resJson.put("msg", "上传图片,请求失败。");
return resJson;
}
} catch (Exception e) {
resJson.put("status", "-1");
resJson.put("msg", "系统异常");
return resJson;
}
return null;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档