为了实现微信小程序客户端可以分享自拍视频给多个好友,我们需要将小程序自拍视频存放到服务器上,阿里云的性能和速度都不错,所以我们选择阿里云作为服务器。
步骤1.创建微信小程序项目
1.下载微信小程序IDE,我们使用0.11..dmg版本。
2.建立微信小程序项目参考。
第二步、PC端测试微信小程序上传接口
wx.(),上传本地资源到开发者服务器。如果页面通过wx.接口获取到本地资源的临时文件路径,则可以通过此接口将本地资源上传到指定服务器。客户端发起POST请求,-type为/form-data。具体数据流向可以抓取。
在进行测试的时候,可以先在小程序开发工具中开启不验证域名的功能,如果有域名验证功能,请先进入微信小程序的开发设置中,设置一个合法的域名。
参考#
步骤3.在PC上测试阿里云JS SDK上传接口
參考。
测试完成后可以在阿里云服务器上查看文件是否上传成功。
在移植阿里云JS SDK到微信小程序项目时,我们发现有很多语法兼容性需要修改,对比阿里云上传(参考)和微信小程序上传接口时发现只需要在微信小程序上传API(wx.)中添加五个字段即可:'key':'':'':'':'s':。
步骤 4. 测试上传视频文件到阿里云
参数设置
![]()
为了快速获取这两个字段的数据,我们可以参考示例()oss-h5--js-.zip,通过开发者选项查看这两个字段的数据。
第五步、在微信小程序中配置试用参数,将视频文件上传至阿里云
微信小程序API配置
对应的测试参数为='${}',='应用于阿里云OSS',='..............',='='。
第六步、移植阿里云及要用到的js算法到微信小程序
作为参考,或者使用我们修改过的版本,只更改暴露的界面。
第七步,在手机上预览并测试上传功能。
在PC IDE中调试上传时,如果不使用白名单是没有问题的。但是勾选了白名单域名后就无法上传文件了。当我们将域名()设置为微信小程序服务器的合法域名时,提示该域名违规,禁止设置。如有异议,请在微信客户端中打开域名进行申诉。怎么申诉?在发送给朋友的对话窗口中点击打开,就可以申诉了。但是我们的项目等不了了,只能使用代理域名进行http转发。将代理域名设置为微信小程序服务器的合法域名。
视频文件上传成功了,但是又出现了新的问题,我们在服务器上查看文件时,文件名和上传的文件不符,一直是wx:file.mp4。使用微信小程序IDE上传的视频文件名是没有wx:file//前缀字符串的名字,使用试用版时,上传不了。后来我们发现需要改一下from表单中key字段的内容,也就是指定上传文件的名字(对应到服务器上存放的位置和文件名)。
总结:
当使用新的解决方案时,需要对每个接口进行测试,以避免在连接接口时出现问题。
我们项目中使用的算法