微信js上传的图片只能保存3天 下载到自己的服务器

时间:2022-11-12 10:27:51

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";
}