微信公众号模板素材网站免费(微信公众号模板素材网站有哪些)

通过微信获取素材列表接口,拿到素材后在后台显示这些图片的时候,会出现“此图片来自微信公众平台,未经允许不可引用”的字眼。如下图所示:

微信公众号模板素材网站免费(微信公众号模板素材网站有哪些)

也就是说我们无法在自已的系统后台中引用微信的图片显示,解决方法只能是使用动态程序获取微信图片,然后再输出显示了。动态获取图片的时候,需要构造一下referer,让微信以为来路是他们的网址url,具体代码如下:get_wximg.jsp

<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="" %>

<%@ page import="java.util.*"%>

<%@page import="java.io.*"%>

<%@ include file="../inc/common.jsp"%>

<%

String pic = request.getParameter("pic");

URL url= null;

HttpURLConnection urlconn =null;

InputStream is=null;

try{

url=new URL(pic);

urlconn = (HttpURLConnection) url.openConnection();

urlconn.setRequestProperty("referer", "https://mp.weixin.qq.com/");//构造来路

} catch ( MalformedURLException e) {

}

try{

is=url.openStream();

}catch(IOException e){

}

if(is!=null){

BufferedInputStream inputStream = null;

OutputStream outputStream = null;

byte[] block = new byte[1024];

try {

inputStream = new BufferedInputStream(is);

outputStream = response.getOutputStream();

response.setContentType("image/*"); // 设置返回的文件类型

while (true) {

int readLength = inputStream.read(block);

if (readLength == -1) break;// end of file

outputStream.write(block, 0, readLength);

}

} catch(IOException e){

}finally {

if (inputStream != null) {

try {

inputStream.close();

} catch (IOException ex) {

// just ignore

}

}

if (outputStream != null) {

try {

outputStream.close();

} catch (IOException ex) {

// just ignore

}

}

}

}

%>

上面的jsp程序接收微信图片的地址,然后读取微信图片后原样输出。剩下工作就是把原来引用图片的代码修改一下。原来是:

out.print("<img width=\"60\" height=\"60\" src=\""+m.get("url")+"\" /> ");

修改为:

out.print("<img width=\"60\" height=\"60\" src=\"/api/get_wximg.jsp?pic="+m.get("url")+"\" /> ");

这样图片就可以正常显示了

微信公众号模板素材网站免费(微信公众号模板素材网站有哪些)

其实上面get_wximg.jsp程序稍微修改一下,就能实现采集微信公众号图片到本地的功能了。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.ixoh.com/21754.html