调用图片上传http接口,利用httpClient模拟请求
2014-07-03 09:38
423 查看
上传图片除了上传到本地服务器之外,通常需要上传到对方的服务器中,这时候除了上传到我们本地然后做NFS之外(比较不合理),还需要直接捅对方接口,直接将文件上传到对方服务器,这时候就需要利用httpclient来模拟一个图片上传请求。
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; }
相关文章推荐
- 通过java调用Http接口上传图片到服务器
- 利用 HTML 5 的多图片上传及预览(不含前端的文件分割) 分类: HTML5 文件上传 上传图片的预览 XMLHTTPRequest对象 2014-01-13 11:05 419人阅读 评论(0) 收藏
- 利用html5调用本地摄像头拍照上传图片
- 调用微信网页开发接口上传图片
- 【自动化测试】利用Jmeter对Http接口的文件上传进行测试
- 微信开发-----微信公众号调用微信上传图片接口
- Get、Post(HTTP中最常用的请求方式 使用ASIHTTPRequest)----例如:登录、上传图片(调用手机相册 UIImage 转为data)
- laravel上传图片调用接口,使用formData 上传图片 展示在本页面
- HttpWebRequest上传图片Post到接口
- PHP调用微信JSSDK接口 选择相册及拍照、图片上传
- SSM利用接口的方式上传文件,js调用接口上传文件,ajax利用接口上传文件
- PHP调用接口到阿里云OSS同步上传图片
- PHP调用接口到阿里云OSS同步上传图片
- IOS 利用ASIHttpRequest 上传多张图片
- 利用html5调用本地摄像头拍照上传图片[转]
- 调用微信JS-SDK接口上传图片
- 利用html5调用本地摄像头拍照上传图片
- Delphi调用Http接口上传文件
- C#利用HttpWebRequest、HttpWebResponse调用12306接口,实现登录、查票、买票。
- 利用生产者消费者模式实现HTTP接口的异步调用