您的位置:首页 > 移动开发 > 微信开发

欢迎使用CSDN-markdown编辑器

2017-09-18 02:06 288 查看

微信小程序开发总结

近期摸索了下微信小程序,遇到一些问题,写此文,算是不完全踩坑总结笔记。都是笔者自己的总结哈,如果不对,欢迎指正。

文件上传

小程序文件上传使用Multipart/form-data格式进行上传


Multipart/form-data POST文件上传详解 http://blog.csdn.net/MSPinyin/article/details/6141638

想要获取请求参数,可以采用如下两种办法:

解决方法

1.
MultipartHttpServletRequest multiReq = multipartResolver.resolveMultipart(request);

String reqData = multiReq.getParameter("datas");

logger.info("上传图片携带的参数是:" + reqData);

request = multiReq;


2.
fileItems = servletFileUpload.parseRequest(request);

for(FileItem fileItem:fileItems){

if (fileItem.isFormField()) {

// Process regular form field (input type="text|radio|checkbox|etc", select, etc).

String fieldName = fileItem.getFieldName();

String fieldValue = fileItem.getString();

reqData = fieldValue;

String contentType = fileItem.getContentType();

}else {

// Process form file field (input type="file").

String fieldName = fileItem.getFieldName();

String fileName = fileItem.getName();

InputStream fileContent = fileItem.getInputStream();

}

}


部署

部署时,真真是一波三折。所以赶紧给大家分享下。


1.提前准备好SSl和域名

2.在服务器的秘钥啊,哎,建议用nginx,如果你实在想要在Tomcat上部署,一定要看看,你的tomcat版本,7以下,配置jks的秘钥喔~

各种小问题

1.获取openid的时候然后就会报错:https://api.weixin.qq.com/sns/jscode2session?appid=XX不在以下 request 合法域名列表中

解决方案:在后台自己的服务器后台进行这个请求

2.JAVA后台获取openId时总是获取不到数据,报错信息如下

Caused by: java.io.IOException: getSecretKey failed: PBE SecretKeyFactory not available

解决方案:查找资料https://stackoverflow.com/questions/8397047/what-secretkeyfactory-not-available-does-mean

额,我是重新搞的环境,重新下载Tomcat8,重新配置了一遍,好使了。

3.对应的服务器证书无效。控制台输入 showRequestInfo() 可以获取更详细信息。

解决方案:

(1)官方说了,不支持自签证书,检查一下喔~

(2)本地证书也是过不了证书校验的。

(3)额~这个是我的问题,我自己服务器配置的(╥╯^╰╥)有点乱。因为用B的账号申请的域名和SSl,在A账号配置的服务器的IP,用的B的SSL,目前看是这个问题,明天我再试一下。

4.小程序暂不支持tabBar的动态配置,如果需要类似功能可以参考http://www.wxapp-union.com/article-1405-1.html

5.提示“不在以下 request 合法域名列表中”中的问题,就先看是不是https连接,是不是在客户端(小程序的JS里)访问人家官网API获取openId之类的啦,比如https://api.weixin.qq.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信开发