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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 05:31:22

java 微信服务器下载图片到自己服务器的相关文章

Unity3D教程宝典之Web服务器篇:(第二讲)从服务器下载图片

转载自风宇冲Unity3D教程学院                                    从Web服务器下载图片 上一讲风宇冲介绍了wamp服务器及安装.这回介绍如何从服务器下载内容至Unity3d程序中. 往wamp路径下的www文件夹下拖入一张图片,这里使用的是cat.jpg, 输入http://localhost/cat.jpg,可以查看到图片如下后, 新建unity工程,创建一个球体,创建一个任意名称材质,并赋予该材质至球体.创建一个名为GetImage的脚本,代码如下,

JAVA 通过url下载图片保存到本地

//java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造URL URL url = new URL(urlString); // 打开连接 URLConnection con = url.openConnection(); // 输入流 InputStream is = con.getInputStream(); // 1K的数据缓冲 byte[] bs

一个完整的微信上传图片下载图片实例,把手把教学

步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 步骤二:引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js 请注意,如果你的页面启用了https,务必引入 https://res.wx.qq.com/open/js/jweixin-1.0.0.js ,否则将无法在iOS9.0以上系

通过Apache的httpClient的get方式连接服务器下载图片到本地

客户端程序: package lgx.java.test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.m

Java依据Url下载图片

package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.sql.ResultSet; import ja

远程服务器下载文件到本地服务器

package mytiny.com.controller; import org.apache.log4j.Logger; import ch.ethz.ssh2.Connection;import ch.ethz.ssh2.SCPClient;import mytiny.com.common.CommonFunc; /** * @description 将视频从各个服务器上转移到本地的服务器上 ganymed-ssh2-build210.jar * * @author 葛浩润       *

Java根据Url下载图片

package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.sql.ResultSet; import ja

java如果模拟请求重启路由器(网络爬虫常用),还有java如何下载图片

我们如果在公司或家里使用网络爬虫去抓取自己索要的一些数据的时候,常常对方的网站有defence机制,会给你的http请求返回500错误,只要是相同IP就请求不到数据,这时候我们只能去重启路由器,这样IP地址会改变,网络爬虫就能正常工作了 下面是通过发送Socket请求来模拟路由器的重启指令: protected void rebotadsl() { try { BufferedOutputStream sender = null; String url = baseURL; URL target

服务器下载文件http

#region 从服务器下载文件 /// <summary> /// 从服务器下载文件 /// </summary> /// <param name="_Request"></param> /// <param name="_Response"></param> /// <param name="_fileName">文件名称</param> ///