请问微信怎么php 微信上传永久素材材

1582人阅读
WeChat(2)
用 Java 实现微信公众号上传永久素材,代码如下:
* 上传其他永久素材(图片素材的上限为5000,其他类型为1000)
* @param appid
* @param secret
* @throws Exception
public JSONObject addMaterialEver(String appid, String secret,File file,String type) throws Exception {
PrintUtil.println(&开始上传&+type+&永久素材---------------------&);
//开始获取证书
String accessToken=new AccessTokenBizImpl().getAccessToken(appid, secret);
if(!StringUtil.isEmptyString(accessToken)){
PrintUtil.println(&accessToken is null&);
//上传素材
String path=&https://api./cgi-bin/material/add_material?access_token=&+accessToken+&&type=&+
String result=HttpsUtil.connectHttpsByPost(path, null, file);
result=result.replaceAll(&[\\\\]&, &&);
PrintUtil.println(&result:&+result);
JSONObject resultJSON=JSONObject.fromObject(result);
if(resultJSON!=null){
if(resultJSON.get(&media_id&)!=null){
PrintUtil.println(&上传&+type+&永久素材成功&);
return resultJSON;
PrintUtil.println(&上传&+type+&永久素材失败&);
} catch (Exception e) {
PrintUtil.println(&程序异常&, e);
PrintUtil.println(&结束上传&+type+&永久素材---------------------&);
* 上传图片到微信服务器(本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下)
* @param appid
* @param secret
* @param type
* @param file
* @throws Exception
public JSONObject addMaterialEver(String appid, String secret,File file) throws Exception {
PrintUtil.println(&开始上传图文消息内的图片---------------------&);
//开始获取证书
String accessToken=new AccessTokenBizImpl().getAccessToken(appid, secret);
if(!StringUtil.isEmptyString(accessToken)){
PrintUtil.println(&accessToken is null&);
//上传图片素材
String path=&https://api./cgi-bin/media/uploadimg?access_token=&+accessT
String result=HttpsUtil.connectHttpsByPost(path, null, file);
result=result.replaceAll(&[\\\\]&, &&);
PrintUtil.println(&result:&+result);
JSONObject resultJSON=JSONObject.fromObject(result);
if(resultJSON!=null){
if(resultJSON.get(&url&)!=null){
PrintUtil.println(&上传图文消息内的图片成功&);
return resultJSON;
PrintUtil.println(&上传图文消息内的图片失败&);
} catch (Exception e) {
PrintUtil.println(&程序异常&, e);
PrintUtil.println(&结束上传图文消息内的图片---------------------&);
具体的HTTPS请求:
String result =
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false); // post方式不能使用缓存
// 设置请求头信息
con.setRequestProperty(&Connection&, &Keep-Alive&);
con.setRequestProperty(&Charset&, &UTF-8&);
// 设置边界
String BOUNDARY = &----------& + System.currentTimeMillis();
con.setRequestProperty(&Content-Type&,
&multipart/form- boundary=&
+ BOUNDARY);
// 请求正文信息
// 第一部分:
StringBuilder sb = new StringBuilder();
sb.append(&--&); // 必须多两道线
sb.append(BOUNDARY);
sb.append(&\r\n&);
sb.append(&Content-Disposition: form-name=\&media\&;filelength=\&&+file.length()+&\&;filename=\&&
+ file.getName() + &\&\r\n&);
sb.append(&Content-Type:application/octet-stream\r\n\r\n&);
byte[] head = sb.toString().getBytes(&utf-8&);
// 获得输出流
OutputStream out = new DataOutputStream(con.getOutputStream());
// 输出表头
out.write(head);
// 文件正文部分
// 把文件已流文件的方式 推入到url中
DataInputStream in = new DataInputStream(new FileInputStream(file));
int bytes = 0;
byte[] bufferOut = new byte[1024];
while ((bytes = in.read(bufferOut)) != -1) {
out.write(bufferOut, 0, bytes);
in.close();
// 结尾部分
byte[] foot = (&\r\n--& + BOUNDARY + &--\r\n&).getBytes(&utf-8&);// 定义最后数据分隔线
out.write(foot);
out.flush();
out.close();
StringBuffer buffer = new StringBuffer();
BufferedReader reader =
// 定义BufferedReader输入流来读取URL的响应
reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line =
while ((line = reader.readLine()) != null) {
buffer.append(line);
if (result == null) {
result = buffer.toString();
} catch (IOException e) {
System.out.println(&发送POST请求出现异常!& + e);
e.printStackTrace();
throw new IOException(&数据读取异常&);
} finally {
if (reader != null) {
reader.close();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:26753次
排名:千里之外
原创:21篇
(1)(1)(2)(4)(1)(4)(3)(1)(2)(4)(2)更多选项 1
微信图片素材免费下载,千图网为中国设计师们免费提供包括,,。千图网素材为用户免费分享产生,若发现您的权利被侵害,请联系 ,我们尽快处理Copyright & 2015 沪ICP备号-6 用时:0.0201求微信公众平台上传永久素材的PHP代码_百度知道
求微信公众平台上传永久素材的PHP代码
我的素材(图片)在sae的storage里面的~我上传临时素材成功,然后把这段代码的URL改成上传永久素材的就报错了,有时是多媒体文件丢失,有时就是文件格式不对
我有更好的答案
和你一样的问题 ,也是临时可以永久就不行了。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁全部用户名图片编号标题&>&价格-1/250页
相关搜索专注正版设计作品交易平台我图网创办于2008年,老品牌值得信赖目前拥有会员15,569,032人,作品总数2,411,798张在线客服:热线电话:400-600-8526客户指南安全认证Copyright & 我图网沪ICP备号 用时:0.0179秒&V若您发现您的权利被侵害,请发起知识产权投诉。微信公众平台开发—上传永久素材(图片)_百度知道
微信公众平台开发—上传永久素材(图片)
请大牛不吝赐教.
$obj = new getAccessToken();$file_info);
$url = &filename'wx/ =&gt, CURLOPT_URL;=&
$rs = $this-&svn/$test-&
curl_setopt($/cgi-bin/material/add_getStr();&wx&#47, CURLOPT_POSTFIELDS;media&quot, $url);
)这段代码有错吗;upload()
您的回答被采纳后将获得:
系统奖励20(财富值+经验值)+难题奖励10(财富值+经验值)+提问者悬赏30(财富值+经验值)
我有更好的答案
就是上传永久图片素材不会,其他功能都没问题我是java写的。貌似微信公众平台开发者文档也没写。我反正是找了半天
到底怎么解决的啊,我和你写的一样,不知道怎么传永久,再问一句 永久支持gif吗?
解决了么?我也是这个错误
你要指定name为media
其他类似问题
为您推荐:
您可能关注的推广
大闸蟹的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 微信上传永久图片素材 的文章

 

随机推荐