try {
if (err != null && err.getAdaptorErr() != null) {
return NutMap.NEW().addv("code", 1).addv("msg", "文件不合法");
} else if (tf == null) {
return Result.error("空文件");
} else {
WxApi2 wxApi2 = wxConfigService.getWxApi2(wxid);
WxResp resp = wxApi2.add_material("image", tf.getFile());
if (resp.errcode() != 0) {
return Result.error(resp.errmsg());
}
String url = resp.getString("url");
Wx_image wxImage = new Wx_image();
wxImage.setUrl(url);
wxImage.setMedia_id(resp.media_id());
wxImage.setWxid(wxid);
wxImageService.insert(wxImage);
return Result.success("上传成功");
}
25 回复
换最新快照版
来自炫酷的 NutzCN
@wendal 兽总?是 换这个
org.nutz
nutz
1.r.58-SNAPSHOT
?版本号是多少?
@qq_d6c9c504 就是这个
来自炫酷的 NutzCN
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutz</artifactId>
<version>1.r.58-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutz-plugins-daocache</artifactId>
<version>1.r.57</version>
</dependency>
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutz-integration-quartz</artifactId>
<version>1.r.57.r2</version>
</dependency>
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutz-integration-shiro</artifactId>
<version>1.r.57</version>
</dependency>
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutzwx</artifactId>
<version>1.r.57</version>
</dependency>
@wendal 图片路径:C:\Users\lifei.guo\nutzwk\upload\tmp\00\00\00\00\00\00\00\14.jpg,图片名称:14.jpg,这个是日志记录的file对象的路径。
哦, 才明白,说的是这里
WxResp resp = wxApi2.add_material("image", tf.getFile());
if (resp.errcode() != 0) {
return Result.error(resp.errmsg());
}
对吧?
@wendal 是的兽总
@wendal 是的,我刚才还nutzwx换成最新快照了
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutzwx</artifactId>
<version>1.r.58-SNAPSHOT</version>
</dependency>
是不是FieldMeta的放的文件信息有问题,导致上传失败
@wendal 微信官网文档中是add_material这接口
新增永久视频素材的调用示例:
curl "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE" -F media=@media.file -F description='{"title":VIDEO_TITLE, "introduction":INTRODUCTION}'
@wendal 我看文档是material/add_material地址
我是手动改本地的?还是你们打包到1.r.58-SNAPSHOT上?
@wendal 感谢兽总的鼎力及时支持,已经成功了。哈哈~~~~
@wendal 兽总,能不能把 add_video方法也改了,里面的地址也是错的
public WxResp add_video(File f, String title, String introduction) {
if(f == null) {
throw new NullPointerException("meida file is NULL");
} else {
String url = String.format("https://api.weixin.qq.com/cgi-bin/media/add_material?access_token=%s", new Object[]{this.getAccessToken()});
Request req = Request.create(url, METHOD.POST);
req.getParams().put("media", f);
req.getParams().put("description", Json.toJson((new NutMap()).setv("title", title).setv("introduction", introduction), JsonFormat.compact().setQuoteName(true)));
Response resp = (new FilePostSender(req)).send();
if(!resp.isOK()) {
throw new IllegalStateException("add_material, resp code=" + resp.getStatus());
} else {
return (WxResp)Json.fromJson(WxResp.class, resp.getReader("UTF-8"));
}
}
}
添加回复
请先登陆