【微信小程序】保存图片到本地相册

【微信小程序】保存图片到本地相册,第1张

首先需获取scopewritePhotosAlbum权限。(放在wxgetSetting之前调用,建议放在onload中)

整理一下,处理用户拒绝授权的情况

授权完成后执行保存,先看看微信的开发文档,需注意我用红框框起来的地方。

我说的两种方法一种是保存临时文件路径的,另一种是保存的永久文件的路径,看完两种方法怎样使用看个人选择。

还有一点需注意的是不可以使用网络路径,否则保存失败,提示路径错误,找不到路径。

永久路径即保存在微信小程序项目中的,例如:'imgs/index/1png'

页面中给标签一个点击事件,绑定保存的方法,我把js方法贴上,非常简单。

先进行授权,授权成功后调用微信api即可

这个就有点麻烦,需调用wxgetImageInfo或者wxdownloadFile,而调用这个api需在后台进行配置,把需用到的接口添加进去。

具体配置,登录微信公众平台,在开发---开发设置---服务器域名---添加downloadFile合法域名。

有两种写法:

首先要想到微信官方文档给的API,wxuploadFile({ })

通过这个API来达到上传至服务器的效果:代码示例如下

接下来我们先来说说上传功能,这个比较简单一些

上传:wxchooseImage({ })从本地相册选择或使用相机拍照

代码示例如下:

在点击触发响应事件函数里写上以上代码,就会调起手机选择相册或者拍照。以上就达到了上传的功能

上传word/pdf等文件:

这个功能真是苦恼了我好久,因为项目中要用到上传word文件,找度娘查了半天,发现没有调起手机文件管理器去选择文件上传的API。

于是乎,想办法怎么能把这个功能先实现呢?微信官方文档给出了wxchooseMessageFile(Object object)这个API。

wxchooseMessageFile · 小程序

这个API是从微信聊天界面中选择文件上传。

选择文件的类型可以自行设置,这里我项目中只要求上传word文件,所以在设置上传文件类型的时候,给type赋值file

触发上传文件按钮点击事件,就会调起微信的聊天界面,如下图:

然后,找到你聊天界面中的文件,

勾选好文件,点击确定。选择文件上传的功能就完成了

注:如果是用模拟器选择微信会话里的文件,调用wxchooseMessageFile()API,程序会报错。运行到真机上就没问题了

微信小程序压缩有三种方法,一种是使用官方提供的接口wxcompressImage(Objectobject);一种是通过压缩的大小,利用canvas重绘来得到压缩;最后一种安装第三方压缩包。

第一种方法很多人反映压缩不明显或者失效,所以选择使用canvas重绘来实现压缩。同时,该种方法可以控制的最大尺寸,保持上传大小尺寸相差不多。

具体 *** 作步骤如下:

1、通过wxchooseImage接口选择相机。

2、通过wxgetImageInfo接口获取信息(长宽,类型)。

3、计算压缩比例和最终的长宽。

4、创建canvas绘图上下文,绘制最终。

5、通过wxcanvasToTempFilePath接口将画布内容导出为并获取路径。

以上就是关于【微信小程序】保存图片到本地相册全部的内容,包括:【微信小程序】保存图片到本地相册、微信小程序excel添加图片、微信小程序如何压缩图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9801752.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存