在之前的文章中我们了解了网络模块的request请求API,现在让我们了解一下网络模块中的上传和下载API的使用。我们是通过wx.downloadFile和wx.uploadFile这两个API来实现的。首先我们一起来了解一下wx.uploadFileAPI的使用方法:

url代表了服务器的地址,filePath代表了上传文件资源的路径,也就是本地路径。Name表示了该文件对应的key。现在让我们通过一个实例来看下吧:

<!--wxml.wxml>
<view class="container"><view class="page-body"><view class="page-section"><view class="page-body-info"><block wx:if="{{imageSrc}}"><image src="{{imageSrc}}" class="image" mode="aspectFit"></image></block><block wx:else><view class="image-plus image-plus-nb" bindtap="chooseImage"><view class="image-plus-horizontal"></view><view class="image-plus-vertical"></view></view><view class="image-plus-text">选择图片</view></block></view></view></view>
</view>
.image {width: 100%;height: 360rpx;
}
.page-body-info {display: flex;box-sizing: border-box;padding: 30rpx;height: 420rpx;border-top: 1rpx solid #D9D9D9;border-bottom: 1rpx solid #D9D9D9;align-items: center;justify-content: center;
}
const uploadFileUrl = require('../../../../../config').uploadFileUrlPage({chooseImage: function() {var self = thiswx.chooseImage({count: 1,sizeType: ['compressed'],sourceType: ['album'],success: function(res) {console.log('chooseImage success, temp path is', res.tempFilePaths[0])var imageSrc = res.tempFilePaths[0]var uploadTask = wx.uploadFile({url: uploadFileUrl,filePath: imageSrc,name: 'data',success: function(res) {console.log('uploadImage success, res is:', res)wx.showToast({title: '上传成功',icon: 'success',duration: 1000})self.setData({imageSrc})},fail: function({errMsg}) {console.log('uploadImage fail, errMsg is', errMsg)}});uploadTask.onProgressUpdate((res) => {console.log('上传进度', res.progress)console.log('已经上传的数据长度', res.totalBytesSent)console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)});},fail: function({errMsg}) {console.log('chooseImage fail, err is', errMsg)}})}
})

和上传文件不同,我们是通过wx.downloadFile来实现文件的下载的。

url代表下载资源的路径,header代表http请求的header。下面让我们通过一个实例来看下吧:

<!--view.wxml>
<view class="container"><view class="page-body"><image wx:if="{{imageSrc}}" src="{{imageSrc}}" mode="center" /><block wx:else><view class="page-body-wording"><text class="page-body-text">点击按钮下载服务端示例图片</text></view><view class="btn-area"><button bindtap="downloadImage" type="primary">下载</button></view></block></view>
</view>
const downloadFileUrl = require('../../../../../config').downloadFileUrlPage({downloadImage: function() {var self = thisvar downloadTask = wx.downloadFile({url: downloadFileUrl,success: function(res) {console.log('downloadFile success, res is', res)self.setData({imageSrc: res.tempFilePath})},fail: function({errMsg}) {console.log('downloadFile fail, err is:', errMsg)}});downloadTask.onProgressUpdate((res) => {console.log('下载进度', res.progress)console.log('已经下载的数据长度', res.totalBytesWritten)console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)})}
})

今天的内容就到这里了,我们下期再见。

api 文件长度_上传下载API相关推荐

  1. 如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作...

    Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件 的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常I ...

  2. ie11 java 下载文件_Javaweb实现上传下载文件的多种方法

    在Javaweb中,上传下载是经常用到的功能,对于文件上传,浏览器在上传的过程中是以流的过程将文件传给服务器,一般都是使用commons-fileupload这个包实现上传功能,因为commons-f ...

  3. linux curl 命令 http请求、下载文件、ftp上传下载

    1. curl 命令简介 cURL(CommandLine Uniform Resource Locator),是一个利用 URL 语法,在命令行终端下使用的网络请求工具,支持 HTTP.HTTPS. ...

  4. Java实现七牛云文件或图片上传下载

    写在前面 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:人工智能学习网站 文章目录 写在前面 一.准备工作 1.1.为什么选择七牛云? 1.2.七牛云注册 二.ja ...

  5. 使用Git工具从GitHub上文件代码进行上传下载(图文详细)

    1.注册一个GitHub账号 GitHub: Where the world builds software · GitHub  此链接为GitHub官网 由于GitHub是国外的网站,访问会很慢,又 ...

  6. C++ vs2017 - libcurl - http请求 代码大全(请求数据,上传下载文件,多线程上传下载文件)

    在网上搜寻各种libcurl的用法,将代码集合于此! 目录 一.配置curl项目 二.Curl 请求参数 1. CURLOPT_POST 2. CURLOPT_URL 3. CURLOPT_HTTPH ...

  7. 微信小程序文件云存储-上传下载删除功能

    文件云存储 云存储提供高可用.高稳定.强安全的云端存储服务,支持任意数量和形式的非结构化数据存储,如视频和图片,并在控制台进行可视化管理.云存储包含以下功能: 存储管理:支持文件夹,方便文件归类.支持 ...

  8. maven 项目 springMVC实现文件图片的上传下载功能详解(源码已提供,小白必看)

    文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作. ...

  9. Amazon S3文件存储的上传下载如何测试

    相信肯定有不少小伙伴的公司用到了S3,而且在测试的过程中如何去进行测试的呢,下面通过一篇文章带你入门S3的测试. S3是什么? Amazon Simple Storage Service (Amazo ...

  10. linux使用lftp文件自动认证上传下载

    为了结合sftp做自动上传,引用了lftp工具. #yum install lftp 安装完毕.. lftp -u $USERNAME,$PASSWORD sftp://$HOST <<E ...

最新文章

  1. LVS+keepalived 实现高可用与负载均衡实施方案
  2. 【推荐】《精通.NET互操作:P/Invoke,C++ Interop和COM Interop》
  3. Factory Method模式的误区:Factory Method模式是简化版的Abstract Factory吗?
  4. 女孩子们,你的专业由你做主
  5. 亲和数(信息学奥赛一本通-T1154)
  6. Mysql支持中文全文检索的插件mysqlcft-应用中的问题
  7. 你真的了解JAVA的形参和实参吗?
  8. 在ubuntu安装使用miniconda
  9. 计算机技术培训承诺书,软件职业技术学院学生干部刻苦学习、文明诚信承诺书...
  10. Collections.sort new Compartor 用法
  11. Ubuntu18.04安装PX4并与ROS联合实验
  12. 数据版吐槽大会: 国产综艺节目年终盘点
  13. Unity使用BMFont制作字体
  14. linux tpp模式,tpp 'exec'命令任意代码执行漏洞
  15. win10怎么更新显卡驱动_如何更新电脑的显卡驱动(驱动精灵)
  16. Android仿射密码破译app
  17. Navicat 使用IP连接本地mysql服务提示无权限访问
  18. UGUI实现Joystick
  19. 2G、3G要退出历史舞台了?为何3G比2G淘汰更快?
  20. centos7安装WGCLOUD说明

热门文章

  1. 宝藏女孩程序媛,谈谈职场成长这些事
  2. 中国大数据与智能计算产业联盟“开源软件工作委员会”成立会议在京召开
  3. 谭礼铨:3月21日阿里云北京峰会网络大神
  4. 【路径规划】基于matlab粒子群和遗传算法求解机器人栅格地图避障路径规划问题【含Matlab源码 202期】
  5. 【图像隐写】基于matlab GUI DWT+SVD数字水印 【含Matlab源码 939期】
  6. 【行为识别】基于matlab轨迹法行为识别【含Matlab源码 375期】
  7. python判断是否登录成功_python-42: 怎么判断模拟登录是否成功
  8. python 水位_python opencv之分水岭算法示例
  9. Kardashev量表和AI:可能的床友
  10. pong_计算机视觉与终极Pong AI