- 小程序有能够直接调用微信里面关于重新进入小程序的api吗?
[图片]
2020-08-12 - wx.canvasToTempFilePath安卓机不行,ios没问题?已解决
因为微信原生压缩感觉左右不大,所以采用canvas画布压缩 页面 [图片] 然后wx.chooseImage---> 显示调用选择照片的接口 [图片] wx.getImageInfo--->然后获取照片原来的宽高,进行一个压缩,这里可能跟平时的h5 canvas用法不太一样 [图片] wx.canvasToTempFilePath--->最后就是调用wx.canvasToTempFilePath,将画布的图片转成微信盒子返回的临时路径 [图片] 最后就是上传图片 [图片] 上传一个图片试试 [图片] 上传成功5M变成156Kb,而且照片相对比例,质量都挺好 [图片] 然后我就多试了几次,突然出现黑色莫名图片,我心里就是纳尼? [图片] 后面统一发现都是安卓的照片 [图片] 网上咨询了,发现都是安卓导致的,说啥的都有,说什么不适配,安卓背景色是黑色,ios是透明,然后我去试了填充背景色什么的, 我突然想到一个问题,canvas绘制需要时间,而我看了一下我上传的安卓图片大小是14M,我就想是不是延时时间给的不够 [图片] 我就把时间给成2秒 [图片] 然后就渲染出来了 [图片] 压缩比例也合适 [图片] 这个setTimeout建议改成回调
2020-07-08 - 微信小程序的临时存储空间意想不到的大?
我们有个需要在信号差,或者断线重连的情况,不刷新关闭小程序的前提下上传照片 就我个人感觉,微信临时存储空间=微信的临时空间-用户已使用的空间 据说微信每几天都会清空临时空间 我感觉这个空间应该还与手机微信运行内存,手机型号有关,具体能有多大,我也没办法测量 本来对这个空间大小不容乐观,但是我今天做了一个测试。惊呆了我,我的思路大概是,使用 wx.chooseImage接口获取图片返回的临时路径的url放到小程序的 setStorageSync()里面,存储返回的url。然后再从 StorageSync里面取出路径数组,展示出来[图片]我的手机苹果7 128g,微信平时也需要斗图,自认微信清理最勤,我也不属于不占部分空间的人,结果就目前测试就能离线存储277张拍摄的图片 以上只是我的猜想,希望个位大佬能够讲解一下,这个空间的具体大小跟那些因素有关
2019-10-31 - 有个问题想要请教一下,sourceType【拍照,相机】,能够区分一下吗?
有些需求需要实时拍摄,为了防止某些人拿相册里面的照片,所以需要区分两种类型照片 有大哥能够提供一下想法吗
2019-10-24 - 微信小程序调用拍照api返回的本地临时url,能够有获取照片文件本身的api吗?
需求 微信小程序拍照时可以用三方的exif.js包获取照片的gps,角度,时间等,但需要传入图片本生对象,而不是url 跪求大神!!!!!!
2019-10-23 - 你们用过requset导入三方js包没?
[图片] 然后我看了几个博客说需要暴露方法[图片] 但是我是js三方包,我这样暴露不知道要有多少个fun
2019-10-23 - wx.chooseImage接口返回的图片url是手机还是远程?
要实现一个拍照过程中,断网重连还可以看到之前拍的照片 我这里做了一个简单demo 页面 <view class="container"> <view class='img_body'> <view class='img_list'> <view class='img_li' wx:for="{{imglist}}" wx:key="{{index}}"> <image src="{{item}}"></image> </view> <view class='addimg' bindtap='img_w_show'> <image src='../../img/add.png'></image> </view> </view> </view> <button bindtap="toStorage">存储</button> <button bindtap="tolook">查看 <view class='img_li' wx:for="{{newList}}" wx:key="{{index}}"> <image src="{{item}}"></image> </view> </button> <view>{{}} </view> </view> js var list=[]; var list2=[]; Page({ data: { imglist:[], newList:[], }, img_w_show() { var _this = this; wx.chooseImage({ count: 9, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths = res.tempFilePaths; list = _this.data.imglist.concat(tempFilePaths); console.log("111111"+tempFilePaths) console.log(list[0]); _this.setData({ imglist: _this.data.imglist.concat(tempFilePaths) }) } }) }, toStorage() { // 获取用户数据存到本地 const appInstance = getApp() console.log(list[0]);//打印用户信息 list2=list; list=[]; try { wx.setStorageSync('imglist', list2[0]); wx.getStorage({ key: 'imglist', success: function(res) { console.log(res.data); }, }) //弹框提示 wx.showToast({ title: '存储本地缓存数据成功', icon: 'none', duration: 2000 }); } catch (e) { //弹框提示 wx.showToast({ title: '存储本地缓存数据失败,请检查相关配置,是否联网等', icon: 'none', duration: 2000 }); } }, tolook(){ var _this = this; _this.setData({ newList: list2 }), list2=[]; } }) 操作如下图[图片] [图片] [图片] [图片] [图片] [图片] [图片] 这里的主要思想就是调用微信图片接口wx.chooseImage返回的url, 点击存储。就放在wx.setStorageSync里面,然后进行页面渲染, 但是我console出的url是个http://tmp/wxfb0ad0f51a836ae1.o6zAJs7t7QmyBKCtv7q9mCnkl77Y.jJ5Lj639Ka7gf04604f9827156ce9b8509eaec36ac00.png这种形式的不应该是网络http协议吗,也不是base64编码 为什么断网情况我的图片还能查看出来
2019-10-23