首页 > 编程 > JavaScript > 正文

微信小程序学习笔记之文件上传、下载操作图文详解

2019-11-19 11:55:24
字体:
来源:转载
供稿:网友

本文实例讲述了微信小程序学习笔记之文件上传、下载操作。分享给大家供大家参考,具体如下:

前面介绍了微信小程序登录API与获取用户信息操作。这里再来介绍一下文件的上传与下载操作。

【文件上传】wx.uploadFile

(以上传图片为例)

后台上传接口Upload.php:(tp5)

<?phpnamespace app/home/controller;use think/Controller;class Upload extends First{  //上传图片API  public function upImg() {  	$arr = array('state'=>0,'msg'=>'上传失败','filepath'=>'');    $file = request()->file('file');    if($file){      $info = $file->move('upload/weixin/');      if ($info) {        $arr['state'] = 1;        $arr['msg'] = '上传成功';        $arr['filepath'] = $info->getSaveName();      }    }    return json($arr);  }}

前台页面upload.wxml:

<image src='{{imgpath}}' style='width:600rpx; height:600rpx' /><view> <button bindtap="upImg">点击选择上传图</button></view>

前台upload.js:

Page({ data: {  imgpath: '' }, upImg: function (e) {  var that = this  wx.chooseImage({   count: 1, // 默认最多一次上传9张图片   sizeType: ['original', 'compressed'], // 允许原图和压缩图   sourceType: ['album', 'camera'], // 允许相册和相机   success(res) {    const tempFilePaths = res.tempFilePaths    wx.showToast({     title: '正在上传...',     icon: 'loading',     mask: true,     duration: 500    })    wx.uploadFile({     url: 'https://www.msllws.top/Upload/upImg', //服务器上传接口     filePath: tempFilePaths[0], //文件资源路径     name: 'file',     header: {      'Content-Type': 'Application/json'     },     success(res) {      console.log(res)      if (res.statusCode == 200){       that.setData({        imgpath: tempFilePaths       })       }     }    })   }  }) }})

演示效果:

(其实是有正在上传...效果的,手机录屏没给录上。。)

 
查看服务器里面多了一张图片:

嗯哼~

 【文件下载】wx.downloadFile

(以下载一张图片为例)

在服务器目录下放一张图片1.jpg:

download.wxml:

<image src='{{imgpath}}' style='width:600rpx; height:600rpx' /><view> <button bindtap="download">点击下载</button></view>

download.js:

Page({ data: {  imgpath: '' }, download: function (e) {  var that = this  wx.showToast({   title: '正在下载...',   icon: 'loading',   mask: true,   duration: 500  })  wx.downloadFile({   url: 'https://www.msllws.top/upload/1.jpg', //下载地址    type: 'image', //下载的资源类型(imnage/audio/video)   success: function (res) {    console.log(res)    if (res.statusCode == 200) {     var filepath = res.tempFilePath     that.setData({      imgpath: filepath     })    }   }  }) }})

演示效果:

 

希望本文所述对大家微信小程序开发有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表