prePath 为下载到服务器的地址
serverId为调用微信js上传图片成功后返回的id
/**
* download photo by serverId
*
* @param access_token
* @param serverId
*/
public static String downloadPhoto(String access_token, String serverId) {
String requestUrl = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=" + MyTask.ACCESS_TOKEN
+ "&media_id=" + serverId + "";
URL url;
try {
url = new URL(requestUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setRequestMethod("GET");
BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
FileOutputStream fos = new FileOutputStream(new File(prePath+serverId+".jpg"));
byte[] buf = new byte[8096];
int size = 0;
while ((size = bis.read(buf)) != -1)
fos.write(buf, 0, size);
fos.close();
bis.close();
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return serverId+".jpg";
}