千家信息网

微信小程序怎么将本地资源上传到开发者服务器

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本文小编为大家详细介绍"微信小程序怎么将本地资源上传到开发者服务器",内容详细,步骤清晰,细节处理妥当,希望这篇"微信小程序怎么将本地资源上传到开发者服务器"文章能帮助大家解决疑惑,下面跟着小编的思路
千家信息网最后更新 2024年11月27日微信小程序怎么将本地资源上传到开发者服务器

本文小编为大家详细介绍"微信小程序怎么将本地资源上传到开发者服务器",内容详细,步骤清晰,细节处理妥当,希望这篇"微信小程序怎么将本地资源上传到开发者服务器"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

wx.uploadFile(OBJECT)


将本地资源上传到开发者服务器。如页面通过 wx.chooseImage 等接口获取到一个本地资源的临时文件路径后,可通过此接口将本地资源上传到指定服务器。客户端发起一个HTTPS POST请求,其中Content-Typemultipart/form-data

OBJECT参数说明:

参数类型必填说明
urlString开发者服务器url
filePathString要上传文件资源的路径
nameString文件对应的key , 开发者在服务器端通过这个key可以获取到文件二进制内容
headerObjectHTTP 请求 Header,header中不能设置Referer
formDataObjectHTTP 请求中其他额外的form data
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数类型说明
dataString开发者服务器返回的数据
statusCodeNumberHTTP状态码

示例代码:

wx.chooseImage({  success:function(res){var tempFilePaths = res.tempFilePaths    wx.uploadFile({      url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址      filePath: tempFilePaths[0],      name:"file",      formData:{"user":"test"  }      success: function(res){        var data = res.data        //do something      }    })  }})

返回值:

基础库 1.4.0 开始支持,低版本需做兼容处理

返回一个uploadTask对象,通过uploadTask,可监听上传进度变化事件,以及取消上传任务。

uploadTask

uploadTask 对象的方法列表:

方法参数说明最低版本
onProgressUpdatecallback监听上传进度变化1.4.0
abort中断上传任务1.4.0

onProgressUpdate 返回参数说明:

参数类型说明
progressNumber上传进度百分比
totalBytesSentNumber已经上传的数据长度,单位 Bytes
totalBytesExpectedToSendNumber预期需要上传的数据总长度,单位 Bytes

示例代码:

const uploadTask = wx.uploadFile({    url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址filePath: tempFilePaths[0],    name: 'file',    formData:{'user': 'test'},    success: function(res){var data = res.data//do something}})uploadTask.onProgressUpdate((res) => {console.log('上传进度', res.progress)console.log('已经上传的数据长度', res.totalBytesSent)console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)})uploadTask.abort() // 取消上传任务

Bug & Tip

  1. tip: 最大并发限制是 10 个

  2. tip: 默认超时时间和最大超时时间都是 60s

wx.downloadFile(OBJECT)


下载文件资源到本地。客户端直接发起一个HTTP GET请求,返回文件的本地临时路径。

OBJECT参数说明:

参数类型必填必填
urlString下载资源的 url
headerObjectHTTP 请求 Header
successFunction下载成功后以 tempFilePath 的形式传给页面,res={tempFilePath:'文件的临时路径'}
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

示例代码:

wx.downloadFile({  url: 'http://example.com/audio/123', //仅为示例,并非真实的资源  success: function(res) {    wx.playVoice({      filePath: res.tempFilePath    })  }})

返回值:

基础库 1.4.0 开始支持,低版本需做兼容处理

返回一个downloadTask对象,通过downloadTask,可监听下载进度变化事件,以及取消下载任务。

downloadTask

downloadTask 对象的方法列表:

方法参数说明最低版本
onProgressUpdatecallback监听下载进度变化1.4.0
abort中断下载任务1.4.0

onProgressUpdate 返回参数说明:

参数类型说明
progressNumber下载进度百分比
totalBytesWrittenNumber已经下载的数据长度,单位 Bytes
totalBytesExpectedToWriteNumber预期需要下载的数据总长度,单位 Bytes

示例代码:

const downloadTask = wx.downloadFile({    url: 'http://example.com/audio/123', //仅为示例,并非真实的资源success: function(res) {        wx.playVoice({            filePath: res.tempFilePath        })    }})downloadTask.onProgressUpdate((res) => {console.log('下载进度', res.progress)console.log('已经下载的数据长度', res.totalBytesWritten)console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite)})downloadTask.abort() // 取消下载任务

Bug & Tip

  1. tip: 最大并发限制是 10 个

  2. tip: 默认超时时间和最大超时时间都是 60s

  3. tip: 网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中{appid}为小程序的 appid,{version}为小程序的版本号,版本号为 0 表示为开发版。

  4. tip: 6.5.3 以及之前版本的 iOS 微信客户端header设置无效

读到这里,这篇"微信小程序怎么将本地资源上传到开发者服务器"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

参数 资源 接口 数据 服务器 开发 服务 文件 示例 进度 长度 开发者 程序 版本 任务 函数 类型 路径 最大 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发中的编码怎么用 东城区专业网络技术服务介绍 网络安全技术课程实训心得 win7怎么关闭服务器管理界面 数据库root的密码忘记 linux服务器性能优化 站长工具 服务器 r720服务器怎么设硬盘 为什么坏坏猫搜索显示服务器异常 vb做软件开发 软件开发转正工作述职 索尼G200AA使用的服务器 锦策互联网科技有限公司 互联网信息技术与网络安全 以公司电脑作为代理服务器 天长工程软件开发技术哪家好 使命召唤4进服务器闪退 河南霍坡达互联网科技有限公司 胸片数据库考试脑科学 软件开发板块分析 海珠区无源网络技术开发展示 后台数据库没有连接 软件开发公司的绩效管理制度 ab有自己的代谢数据库 武汉搞汽车仪表软件开发的 网络安全的发展现状分析 ftp服务器下载文件的五个步骤 盒子搭建web服务器 网络安全 导师 知乎 四川大学网络安全技术网课
0