微信小程序 - 上传和下载图片到服务器

微信小程序有着强大的API,提供了小程序的上传和下载,那么我在此分享一下。

首先要注意不管上传还是下载都要在微信公众平台设置小程序上传、下载的合法域名!

点击设置 - 开发设置,可以看到服务器域名,点击修改,设置一下你的上传、下载合法域名, 否则会报错。

b743c88f7e1e9fdd5896edc670bb3c8300f.jpg

1、将本地资源上传到开发者服务器,可参考 API:wx.uploadFile

直接贴代码:这里只示例上传一张图片,若上传多张根据业务循环调用即可。(或者设置计数flag等于图片数组长度则上传完成否则继续调用上传函数,思路和循环相同)

    wx.chooseImage({  
          count: 1, // 默认9  
          sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  
          sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  
          success: function (res) {  
            // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片  
            var tempFilePaths = res.tempFilePaths;  
            wx.uploadFile({  
              url: 'https://...',      //仅为示例,非真实的接口地址
              filePath: tempFilePaths[0],  
              name: 'img',  
              header: {    
                "Content-Type": "multipart/form-data",  
                'accept': 'application/json'
              },  
              formData:{  
                'user':'test'  //其他额外的formdata,可不写  
              },  
              success: function(res){  
                console.log(res);  
              }  
            })  
          }  
        })  

2、 下载文件资源到本地可参考 API:wx.downloadFile

直接贴代码:这里我选择将下载的视频保存相册文件中,因为下载成功后返回文件的本地临时路径 ,如需持久保存,需在主动调用 wx.saveFile,才能在小程序下次启动时访问得到。

   wx.downloadFile({
      url: 'https://...', //下载资源的 url
      success: function (res) {
        if (res.statusCode === 200) {
          //保存文件到本地
          wx.saveFile({
            tempFilePath: res.tempFilePath,
            success: function (res2) {
              //保存视频到系统相册
              wx.saveVideoToPhotosAlbum({
                filePath: res2.savedFilePath,
                success(res3) {
                  console.log( res3)
                }
              })
            }
          })
        }
      }
    })

 

水平有限,若有问题请留言交流!

互相学习,共同进步 :) 转载请注明出处谢谢!

转载于:https://my.oschina.net/hp2017/blog/1831410

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值