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


Posted in Javascript onMarch 29, 2019

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

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

【文件上传】wx.uploadFile

(以上传图片为例)

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

<?php
namespace 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
     })
    }
   }
  })
 }
})

演示效果:

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

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

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

Javascript 相关文章推荐
js显示时间 js显示最后修改时间
Jan 02 Javascript
javascript之Partial Application学习
Jan 10 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
JavaScript常用脚本汇总(三)
Mar 04 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
ReactNative踩坑之配置调试端口的解决方法
Jul 28 Javascript
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
Sep 25 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
vue 图片裁剪上传组件的实现
Nov 12 Javascript
JavaScript实现移动端拖动元素
Nov 24 Javascript
微信小程序生成二维码的示例代码
Mar 29 #Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 #Javascript
JavaScript实现无限级递归树的示例代码
Mar 29 #Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
Mar 29 #Javascript
详解a标签添加onclick事件的几种方式
Mar 29 #Javascript
node(koa2) web应用模块介绍详解
Mar 29 #Javascript
Vue js 的生命周期(看了就懂)(推荐)
Mar 29 #Javascript
You might like
利用php来自动调用不同服务器上的flash
2006/10/09 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
python getopt 参数处理小示例
2009/06/09 Python
Python中的默认参数实例分析
2018/01/29 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
python Django的web开发实例(入门)
2019/07/31 Python
Python字符串的修改方法实例
2019/12/19 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
基层干部十八大感言
2014/01/19 职场文书
高中打架检讨书
2014/02/13 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
运动员口号
2014/06/09 职场文书
应聘护士求职信
2014/07/21 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
公历12个月名称的由来
2022/04/12 杂记