关于小程序上传图片到七牛的总结

Posted weilaiz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于小程序上传图片到七牛的总结相关的知识,希望对你有一定的参考价值。

最近在小程序中做到了头像上传这个功能,本来是挺简单的一个功能,但是这次是让我直接将图片上传到云储存,把返回的路径直接传给后台数据库存起来

emm这就很蛋疼了,一直都是处于你给我接口,我照着要求填数据就行了的那种模式,突然来一个这个操作

而且七牛的官方文档也有点难以理解,反正我是看了一下午,没看懂一堆参数,或者是初始化是怎么配置的

坑是踩的有点多吧,差点心态爆炸了,最后还是依靠的万能的百度解决的

记录一下,算是个总结吧

步骤:

  1.  token还是必须要的,调取后台接口,获取到上传图片到七牛的许可(token),以及一个图片的前缀地址(缺少关键的hash)

  2.  小程序配置uploadFile合法域名:

    反正我是把中国的3个地区域名全给配置上了(谁让小程序每月限制修改次数)

    https://upload.qiniup.com

    https://upload-z1.qiniup.com

    https://upload-z2.qiniup.com

  3.  这一步其实很简单了(但是别去用官方文档给的那个API)

    坑:官方API提供的qiniu.upload(xxx,xx)这个方法,说明也少,还有一堆参数,配置不知道怎么弄,原谅我的英语渣,但是还是觉得官方文档写的太烂

    正:所以说我们为什么不用微信自带的上传呢?(一开始我也在纠结)

      原文地址:https://blog.csdn.net/yibowanbo/article/details/80233107(再次感谢百度的强大,果然面向百度编程不是开玩笑的)

    wx.uploadFile({
        url: ‘https://upload-z2.qiniup.com‘,
        name: ‘file‘,
        filePath: this.data.headload,
        header: {
          "Content-Type": "multipart/form-data"
        },
        formData: {
          token: this.data.loadToken,
        },
        success: function (res) {
          let data = JSON.parse(res.data)
          console.log(res)
          // to do ...
        },
        fail: function (res) {
          console.log(res)
        }
      })

    其中filePath就是你要上传的文件的路径,formData中的token就是后台返回的token,填好之后,点击,搞定!

    上传成功就会返回给你信息,其中有个json对象,里面的hash对应的值就是前面图片缺失的hash,取出来,拼接上,完毕,图片上传搞定

  4.  最后把这个完整的图片地址再次传送给后台,一切完美解决

以上是关于关于小程序上传图片到七牛的总结的主要内容,如果未能解决你的问题,请参考以下文章

php上传文件与图片到七牛的实例详解

关于上传视频到七牛的一些解决方案

小程序上传图片到七牛

微信小程序上传图片及上传到上传到七牛云

如何上传图片到七牛云

ueditor上传图片到七牛云存储(form api,java)