下载微信服务器上的图片到自己的服务器

微信上传图片后

  • 单张图片将返回serverId
  • 多张图片将返回serverId数组,后续只需遍历下载即可

下载微信服务器上的图片

  • 工具类

    。。。
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;public class ImageUtils {/*** @param temp_path(注:临时文件存储目录)* @param serverId(注:图片上传完微信服务器后返回的serverId)* @param image_number(注:图片的编号)* @return*/public static boolean saveImage(String temp_path, String serverId, String image_number) {boolean isSave = true;File saveFile = new File(temp_path);if (!saveFile.exists()) {saveFile.mkdirs();}try {String s = saveImageToDisk(serverId, image_number, temp_path + "/");if (s != null || !"".equals(s.trim())) {isSave = true;}} catch (Exception e) {e.printStackTrace();}return isSave;}//获取private 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) {}return is;}private static String saveImageToDisk(String serverId, String picName, String picPath) throws Exception {Weixin weixin = new Weixin(ConfigData.weixin_app_id, ConfigData.weixin_secret, ConfigData.weixin_cache_dir);//此步骤你自己创建自己的weixin对象String accessToken = weixin.getGlobalAccessToken();InputStream inputStream = getInputStream(accessToken, serverId);// 循环取出流中的数据byte[] data = new byte[1024];int len = 0;FileOutputStream fileOutputStream = null;String filePath = picPath + picName;try {fileOutputStream = new FileOutputStream(filePath);while ((len = inputStream.read(data)) != -1) {fileOutputStream.write(data, 0, len);}} catch (IOException e) {} finally {if (inputStream != null) {try {inputStream.close();} catch (IOException e) {}}if (fileOutputStream != null) {try {fileOutputStream.close();} catch (IOException e) {}}}return filePath;}
    }
    

微信weixin对象根据你的实际情况来创建

下载微信服务器上的图片到自己的服务器相关推荐

  1. Java服务器上显示图片问题_java,_服务器读取图片到jsp显示问题,java - phpStudy

    服务器读取图片到jsp显示问题 我要从服务器读个图片显示到jsp jsp页面 后台 @RequestMapping(value = "getPic", method = Reque ...

  2. 获取服务器上图片的位置,怎么获取服务器上的图片地址

    怎么获取服务器上的图片地址 内容精选 换一换 通过云服务器或者外部镜像文件创建私有镜像时,如果云服务器或镜像文件所在虚拟机的网络配置是静态IP地址时,您需要修改网卡属性为DHCP,以使私有镜像发放的新 ...

  3. 如何显示服务器上的图片,显示服务器上的图片怎么写

    显示服务器上的图片怎么写 内容精选 换一换 内容审核服务输入图片参数"Image"是图片的base64编码,本节介绍利用谷歌浏览器进行图片格式转换,获取图片的base64编码信息. ...

  4. 用户显示图片的服务器是什么,显示服务器上的图片怎么写

    显示服务器上的图片怎么写 内容精选 换一换 在IntelliJ上选择"项目",找到".idea"文件夹,单击右键选择"新建>文件", ...

  5. 小技巧!无需插件,一键批量下载微信公众号的图片!

    今天,我们就给大家分享一下无需插件.无需软件一键批量下载微信公众号的图片! 方法其实很简单,我们通过借助360安全浏览器的小功能(全屏看图)就可以批量下载图片到本地. 一.复制微信公众号文章到360安 ...

  6. 如果访问云服务器上的文件,如果访问云服务器上的文件

    如果访问云服务器上的文件 内容精选 换一换 WinSCP工具可以实现在本地与远程计算机之间安全地复制文件.与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器,无需在服务 ...

  7. 在服务器上导出dmp文件,远程在服务器上导出dmp文件

    远程在服务器上导出dmp文件 内容精选 换一换 由于非工作时间或出差等原因,运维人员无法通过告警管理界面查看告警/事件,但又想实时了解告警/事件的产生或清除情况时,可以配置远程通知规则,将关注的告警/ ...

  8. 无法在Web服务器上启动调试。与Web服务器通信时出现身份验证错误

    使用Visual Studio 2005(Visual Studio 2008亦存在此问题)调试设置了主机头的网站时出现如下错误信息: --------- Microsoft Visual Studi ...

  9. 怎么在云服务器上布项目,怎么在云服务器上布项目

    怎么在云服务器上布项目 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 本章节通 ...

最新文章

  1. python while if 区别_对python中for、if、while的区别与比较方法
  2. Spring中经典的9种设计模式,一定要记牢,Java基础教程pdf百度云
  3. 在Linux下通过Wake On LAN实现网络唤醒远程开机
  4. 将SVG 图引入到HTML页面
  5. 谁还没个黑历史了。。。 | 今日最佳
  6. C/C++socket send函数MSG_NOSIGNAL
  7. api pdo php,从PHP Mysql API转换为PDO时如何处理数据类型
  8. BZOJ5329:[SDOI2018]战略游戏(圆方树,虚树)
  9. java 链表_java数据结构与算法之顺序表与链表深入分析(一)
  10. Mac查看本机公网IP
  11. [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found...
  12. 主线程中访问网络有限制?无法得到数据,必须另起线程
  13. 专题:手把手学习硬件基础之手册阅读------LDOAMS117
  14. Office 2007 SP3 正试版补丁包下载
  15. java项目环境怎么写_开发环境怎么写
  16. C语言求阶乘与阶乘和
  17. 阿里云智能编码插件Cosy,让你的开发过程既高效又轻松
  18. 如何处理WordPress上传资源报HTTP错误
  19. virtualBox安装驱动失败:找不到指定模块解决方法
  20. office 无法正常读取打开 pptx 文件的解决办法

热门文章

  1. OSChina 周二乱弹 —— 理解超算排名这个事,竟然超出了很多人的智商
  2. 绘图模板1(matplotlib)
  3. note_2017_3.c
  4. 知识点-计算机图形学
  5. android蓝牙连接耳机分析,如何在android中获取蓝牙耳机设备的信息(特别是耳机设备名称)...
  6. solr+tomcat整合
  7. Cause: java.sql.SQLException: 无法转换为内部表示
  8. MySQL锁、事务隔离级别、MVCC机制详解、间隙锁、死锁等
  9. excel的XML映射
  10. 避免惊群以及负载均衡的原理与具体实现