微信小程序API之网络(二)上传数据
来源:互联网 发布:java按空格分割字符串 编辑:程序博客网 时间:2024/06/05 02:15
今天记录一下小程序上传数据的方法。
1.使用官方提供的接口wx.uploadFile(OBJECT),将本地资源上传到开发者服务器,客户端发起一个HTTPS POST请求。参数说明如下。
参数 类型 必填 说明
(1)success返回参数说明
参数 类型 说明
2.监听上传进度uploadTask对象方法列表
方法 参数 说明 最低版本
(1)onProgressUpdate返回参数说明
参数 类型 说明
3.demo
(1)思路:我们首先使用wx.chooseImage接口获得若干个图片,对选取的图片通过wx.uploadFile进行上传操作。并且,使用uploadTask对上传的进度进行监听操作。
(2)简单看一下api.wxml,点击button进行选择图片并上传,选择图片后展示选择的图片临时路径(一或多个),最后一个text展示通过uploadTask获取的上传进度。
<!--pages/api/api.wxml--><view class="container wxml-container"> <text class="topic-group">上传</text> <view style="margin:10rpx 10rpx" wx:for="{{picturePaths}}">{{item}}</view> <button class="button" bindtap="uploadToServer">选择图片并上传</button> <text class="topic-group" hidden='{{hidden}}'>上传进度</text> <text>{{progressInfo}}</text></view>
(3)看一下js文件,该文件中需定义uploadToServer函数。在该例中我们没有配套的服务器进行数据处理,因此上传不会成功。
// pages/api/api.jsPage({ data: { picturePaths: [], progressInfo: "", hidden: true }, uploadToServer: function () { var THIS = this; wx.chooseImage({//选择要被上传的图片 success: function (res) { var tempFilePaths = res.tempFilePaths//选择成功后获取文件路径,是一个数组 THIS.setData({ picturePaths: tempFilePaths //界面上展示选择的图片的路径 }) const uploadTask = wx.uploadFile({//uploadTask监听上载进度 url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0],//以上传第一个图片为例 name: 'file',//上传文件的名字 formData: { 'user': 'test' }, success: function (res) { var data = res.data console.log(data)//如果上传成功,打印data值 }, fail: function (errMsg) { console.log(errMsg)//上传失败,在控制台输出错误信息 } }) uploadTask.onProgressUpdate((res) => { var info = '上传进度' + res.progress + '\n已经上传的数据长度' + res.totalBytesSent + '\n预期需要上传的数据总长度' + res.totalBytesExpectedToSend THIS.setData({ progressInfo: info,//在视图层展示上传的结果 hidden: false//第二个小粉条的展示,可忽略 }) }) } }) }})
(4)看一下效果图,上传进度的单位为Bytes。
(5)同时我们可以看到由上传失败,console输出的log日志。
就记录到这里了,午睡一会下午还要上课。忙碌的周一。
阅读全文
1 0
- 微信小程序API之网络(二)上传数据
- 微信小程序API之网络(三)下载数据
- 微信小程序API之网络(一)发起请求
- 微信小程序API之网络(四)WebSocket
- 小程序文档整理之 -- API(网络请求)
- 微信小程序 5 网络api
- 【网络编程】之二、socket API学习
- API网络学习之二SNMP实现
- 【网络编程】之二、socket API学习
- IOS网络请求之ASIFormDataRequest 上传数据
- 小程序文档整理之 -- API(数据缓存)
- 小程序文档整理之 -- API(数据分析)
- 微信小程序开发(二)--网络请求
- Android网络编程之传递数据给服务器(二)
- 微信小程序开发(二)图片上传+服务端接收
- 微信小程序之图片上传
- 微信小程序之----上传图片
- swagger api 之(二)
- Python中的split()函数的用法
- 20171009-20171015C#WPF工作学习周总结
- [LeetCode]28. Implement strStr()
- 2017 新披露 :平台都用贝叶斯算法
- Android设计模式之——原型模式
- 微信小程序API之网络(二)上传数据
- rex 上传文件并远程执行
- android面试-垃圾回收算法(久邦涉及到)
- ubuntu14.04设置静态ip
- JavaScript学习——对象
- Python List append()方法
- TCP/IP、Http、Socket的区别
- 移动互联网下半场的面试真经,让你进入 BAT 不再是梦
- 基于JAVA代码 获取手机基本信息(本机号码,SDK版本,系统版本,手机型号)