微信企业号jssdk上传图片接口怎样把serverId传到服务器去下载图片

岩棂 发布于 2016/05/11 14:45
阅读 2K+
收藏 0

我想在uploadImage接口中把获取到的serverId传到自己的服务器去下载图片,代码如下,求大神指导

//上传图片
wx.uploadImage({
											localId : localIds.toString(),
											isShowProgressTips : 1,
											success : function(res) {
												// alert('已上传:' + i + '/' +
												// length);
												// 返回的serverId即多媒体下载接口的mediaId,可通过调用多媒体接口获取该图片
												var mediaId = res.serverId;
												images.serverId.push(mediaId);
												// 创建一个表单,将serverId提交到服务器
												var tmp = document
														.createElement("form");
												tmp.action = "OAuth2Servlet";
												tmp.method = "post";
												
												var myinput=document.createElement("input");
												myinput.setAttribute("name", "mediaId");
												myinput.setAttribute("value", mediaId);
												tmp.appendChild(myinput);
												document.body.appendChild(tmp);
												tmp.sumbit();
												alert('上传成功,图片id:' + mediaId);
												document.body.removeChild(tmp);
											},
											fail : function(res) {
												alert(JSON.stringify(res));
											}
										});
服务器端:

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		log.debug("----OAuth doPost-----");
		String serverId = request.getParameter("mediaId");

		log.debug("----doPost serverId----" + serverId);
		// 获取配置参数
		Object accessTokenObj = request.getSession().getServletContext()
				.getAttribute("AccessToken" + corpId);
		if (null != accessTokenObj) {
			AccessToken accessToken = (AccessToken) accessTokenObj;
			sAccessToken = accessToken.getToken();
		}
		Object AgentObj = request.getSession().getServletContext()
				.getAttribute("Agent" + corpId);
		if (null != AgentObj) {
			Agent agent = (Agent) AgentObj;
			agentId = agent.getAgentId();
		}
		String download_uri = MediaUtil.downloadMedia(
				sAccessToken,
				serverId,
				agentId,
				"D:\\download\\",
				"exception_declare"
						+ new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss")
								.format(new Date()));
		log.debug("---download_uri---" + download_uri);
	}



根本没进doPost这个方法。然后我手动粘贴serverId去下载图片,提示"{"errcode":40007,"errmsg":"invalid media_id"}"。开发文档说serverId就是mediaId,可以直接使用下载,但我这个出错了,为什么?还有,js中的serverId要怎样才能传到servlet中?求大神指导啊!!!最后,微信downloadImage接口有什么用,既然可以用mediaId通过多媒体接口下载图片,它拿来还有什么用?

加载中
返回顶部
顶部