java 实现微信服务器下载图片到自己服务器
2017-05-23 11:55
761 查看
java 实现微信服务器下载图片到自己服务器
此功能的实现需要注意java 中IO流的操作及网路开发,
实现代码:
/** * @author why * */ public class PicDownload { /** * * 根据文件id下载文件 * * * * @param mediaId * * 媒体id * * @throws Exception */ public static InputStream getInputStream(String accessToken, String mediaId) { InputStream is = null; String url = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=" + accessToken + "&media_id=" + mediaId; try { URL urlGet = new URL(url); HttpURLConnection http = (HttpURLConnection) urlGet .openConnection(); http.setRequestMethod("GET"); // 必须是get方式请求 http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); http.setDoOutput(true); http.setDoInput(true); System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒 System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒 http.connect(); // 获取文件转化为byte流 is = http.getInputStream(); } catch (Exception e) { e.printStackTrace(); } return is; } /** * * 获取下载图片信息(jpg) * * * * @param mediaId * * 文件的id * * @throws Exception */ public static void saveImageToDisk(String accessToken, String mediaId, String picName, String picPath) throws Exception { InputStream inputStream = getInputStream(accessToken, mediaId); byte[] data = new byte[10240]; int len = 0; FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(picPath+picName+".jpg"); while ((len = inputStream.read(data)) != -1) { fileOutputStream.write(data, 0, len); } } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 图片下载 * * @param accessToken * @param mediaId */ public static void getPic(String accessToken, String mediaId) { String requestUrl = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"; requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace( "MEDIA_ID", mediaId); JSONObject jsonObject = WeixinUtil.httpRequest(requestUrl, "GET", null); System.out.println(jsonObject); } public static void main(String[] args) throws Exception { String accessToken = ""; String mediaId = ""; String picName = ""; saveImageToDisk(accessToken, mediaId, picName,"f:/"); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- java 微信服务器下载图片到自己服务器
- php使用curl远程下载微信的图片到自己的服务器
- [置顶] Android开发之下载服务器上的一张图片到本地java代码实现HttpURLConnection
- Android经服务器授权登陆并将图片Post到自己服务器的简单小Demo(Java+servlet实现)
- java操作ftp实现文件的上传下载(适用于图片文档服务器)
- java 微信服务器录音下载到自己服务器
- Android开发之下载服务器上的一张图片到本地java代码实现HttpURLConnection
- 微信公众号开发《四》使用微信JS-SDK实现手机图片上传,支持压缩、预览。并下载图片到自身服务器
- java实现微信小程序第三方登录-保存用户至自己的服务器
- 前端工作日常爬坑之——单页面微信开发Jssdk相关,以及jssdk图片直传自己服务器的实现。
- 微信 java 实现js-sdk 图片上传下载完整流程
- 微信js上传的图片只能保存3天 下载到自己的服务器
- Java实现图片的上传以及下载 Tomcat服务器
- 使用Java进行微信开发 2 - 实现微信与自己的服务器的互联
- java实现向图片上写字并合并图片,可以自己做高清壁纸
- Java实现FTP服务器的上传、下载、删除、查看文件列表
- Java使用Http实现网络图片的下载
- 微信公共服务平台开发(.Net 的实现)8-------处理图片(上传下载发送)