为什么要写这样一个插件
中小公司或个人都会把资源文件放到七牛上,小程序在做上传时,都要依赖服务端生成 token;
1. 服务端生成 token 代码都要写一遍
2. 一些七牛的坑或限制也要淌一遍
3. 分块、分片都实现一遍
基于这些原因写了这个小程序插件(vktool),使用云开发生成 token;
这个插件源码开放(https://github.com/myzingy/wx-plugin-oxoo), 不会储存你的ak\sk,如果你不放心,可以直接部署成你的插件;
针对七牛的处理
-
图片处理(20兆以内)
一般为了加快图片加载,七牛图片都会增加类似 ?imageView2/3/w/980 的缩略图方式,但如果图片很大,超过20兆时,七牛直接就报错了,图片也显示不出来,针对这个问题,生成token 上传策略时,特意另存了一份.lim.jpg 的瘦身文件。 -
分片上传后的 lim 文件
2.1 分片真是个复杂的事,坑已淌好,这个插件已处理好,你可以直接用;
//图片瘦身另存为lim
options.persistentOps = ‘imageslim|saveas/$(x:limkey)’,分片上传后一直不生成lim文件,提交了工单,七牛给出了解决方案(七牛技术服务响应很高效),需要做2次urlsafeBase64Encode
2.2 小程序 FileSystemManager.readFileSync 真机目前只能支持10兆内的文件,超过10兆直接报错,等小程序官方修复吧;目前分片上传只能支持10兆以下文件,意义不大;
-
即使你不用插件,希望这些坑也能帮到你,毕竟源码都给你了
案例
自己写了个小程序 图略,新建活动或发布照片都可以体验七牛直传;
请问:persistentOps和persistentNotifyUrl参数是放这里吗