1. 上传文件

使用wx.uploadFile方法可以向指定的Url上传文件。该方法只有一个Object类型的参数,Object类型参数属性的描述如下所示。

  • urlString类型,必选,用于上传文件的服务端Url

  • filePathString类型,必选,要上传文件资源的本地路径

  • nameString类型,必选,文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容

  • headerObject类型,可选,HTTPS请求Header,不能设置Referer

  • formDataObject类型,可选,HTTPS 请求中其他额外的 form data

  • success       Function类型,可选,接口调用成功的回调函数

  • failFunction 类型,可选,接口调用失败的回调函数

  • completeFunction类型,可选, 接口调用结束的回调函数(调用成功、失败都会执行)


测试wx.uploadFile方法也需要找一个https链接,如果没有,可以使用https://www.baidu.com,尽管该链接不会真正接收上传的文件,但会让wx.uploadFile方法正常执行,以便测试其中的回调函数。


下面的代码通过wx.chooseImage方法弹出一个图像选择对话框,选择图像文件后,会调用wx.uploadFile方法将该文件上传到服务端,如果上传成功,success函数会调用,并输出响应数据。



 

2. 下载文件

使用wx.downloadFile方法可以下载文件到临时路径,该方法有一个Object类型的参数,Object类型参数属性的描述如下所示。

  • urlString类型,必选,下载资源的Url

  • headerObject类型,可选, HTTPS请求Header

  • success       Function类型,可选,下载成功后以 tempFilePath 的形式传给页面,res = {tempFilePath: '文件的临时路径'}

  • failFunction类型,可选,接口调用失败的回调函数

  • completeFunction类型,可选, 接口调用结束的回调函数(调用成功、失败都会执行)


同样,使用wx.downloadFile方法,也必须下载HTTPS Url指定的资源,例如,下面的代码会下载百度首页。


下载的资源会保存成临时文件,我们可以通过res.tempFilePath获取临时文件名,并做进一步处理,例如,如果下载的是视频文件,可以使用wx.playVoice方法进行播放。


执行这段代码后,会看到在Console中输出如图1所示的临时文件名。

微信小程序开发实战(22):上传文件和下载文件-LMLPHP

图1  下载资源的临时文件


微信小程序开发实战(22):上传文件和下载文件-LMLPHP

微信小程序开发实战(22):上传文件和下载文件-LMLPHP




本文分享自微信公众号 - 极客起源(geekculture)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

09-02 12:51