java 实现微信服务器下载图片到自己服务器
java实现微信服务器下载图片到自己服务器
此功能的实现需要注意java中IO流的操作及网路开发,
实现代码:
/** *@authorwhy * */ publicclassPicDownload{ /** * *根据文件id下载文件 * * * *@parammediaId * *媒体id * *@throwsException */ publicstaticInputStreamgetInputStream(StringaccessToken,StringmediaId){ InputStreamis=null; Stringurl="http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=" +accessToken+"&media_id="+mediaId; try{ URLurlGet=newURL(url); HttpURLConnectionhttp=(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(Exceptione){ e.printStackTrace(); } returnis; } /** * *获取下载图片信息(jpg) * * * *@parammediaId * *文件的id * *@throwsException */ publicstaticvoidsaveImageToDisk(StringaccessToken,StringmediaId,StringpicName,StringpicPath) throwsException{ InputStreaminputStream=getInputStream(accessToken,mediaId); byte[]data=newbyte[10240]; intlen=0; FileOutputStreamfileOutputStream=null; try{ fileOutputStream=newFileOutputStream(picPath+picName+".jpg"); while((len=inputStream.read(data))!=-1){ fileOutputStream.write(data,0,len); } }catch(IOExceptione){ e.printStackTrace(); }finally{ if(inputStream!=null){ try{ inputStream.close(); }catch(IOExceptione){ e.printStackTrace(); } } if(fileOutputStream!=null){ try{ fileOutputStream.close(); }catch(IOExceptione){ e.printStackTrace(); } } } } /** *图片下载 * *@paramaccessToken *@parammediaId */ publicstaticvoidgetPic(StringaccessToken,StringmediaId){ StringrequestUrl="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); JSONObjectjsonObject=WeixinUtil.httpRequest(requestUrl,"GET",null); System.out.println(jsonObject); } publicstaticvoidmain(String[]args)throwsException{ StringaccessToken=""; StringmediaId=""; StringpicName=""; saveImageToDisk(accessToken,mediaId,picName,"f:/"); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!