当前位置: 首页 > 编程笔记 >

java 实现微信服务器下载图片到自己服务器

湛同
2023-03-14
本文向大家介绍java 实现微信服务器下载图片到自己服务器,包括了java 实现微信服务器下载图片到自己服务器的使用技巧和注意事项,需要的朋友参考一下

 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:/"); 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍PHP实现上传图片到 zimg 服务器,包括了PHP实现上传图片到 zimg 服务器的使用技巧和注意事项,需要的朋友参考一下 最近我们项目需要一台图片服务器存储用户头像,我们使用 zimg 处理和存储图片,下面简单介绍一下如何使用 PHP 上传图片到 zimg,并获取相应图片的返回信息 使用 curl 库实现上传 根据 zimg 使用文档,我们想要让 zimg 返回 json 信息,

  • 本文向大家介绍java实现微信支付(服务端),包括了java实现微信支付(服务端)的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接看代码。 代码:本地系统生成订单  代码:生成预付快订单完成  到此为止,预付款订单已生成,并且已返回客户端,坐等微信服务器通知,通知的地址就是生成预付款订单的notify_url 以上就是java实现微信支付服务端所要提供的代码,希望大家仔细研究,实现微信支

  • 本文向大家介绍C#开发windows服务实现自动从FTP服务器下载文件,包括了C#开发windows服务实现自动从FTP服务器下载文件的使用技巧和注意事项,需要的朋友参考一下 最近在做一个每天定点从FTP自动下载节目.xml并更新到数据库的功能。首先想到用 FileSystemWatcher来监控下载到某个目录中的文件是否发生改变,如果改变就执行相应的操作,然后用timer来设置隔多长时间来下载。

  • 本文向大家介绍webuploader实现上传图片到服务器功能,包括了webuploader实现上传图片到服务器功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了webuploader实现上传图片到服务器的具体代码,供大家参考,具体内容如下 效果图: 一、引入资源文件 1.1 引入webuploader.css文件 1.2 引入webuploader.min.js文件 二、HTML代码

  • 本文向大家介绍微信小程序上传图片到php服务器的方法,包括了微信小程序上传图片到php服务器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了微信小程序上传图片到php服务器的具体代码,供大家参考,具体内容如下 js代码如下 PHP代码如下upload.php 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 在之前的几篇教程中,我们讲的是如何查询和Mutation操作,这些都是在客户端那边所进行的,那么服务器这边是如何处理这些请求的呢?这就是这篇教程所要说的东西了. 准备工作 克隆库: git clone https://github.com/zhouyuexie/learn-graphql 安装依赖: cd learn-graphql && npm install cd learn-graphql