微信小程序做文件上传的时候,只能选择相册的图片或者视频,没办法选择手机内存卡里的文件,比如 word、pdf文件等等

下面可以通过 webview 的方式,借用 h5 的方式即可实现上面的功能:

添加业务域名

webview里面打开的地址,首先需要添加到小程序后台的业务域名中,否则会无法打开:

https://ns.s2m.cc

请将上面的域名添加到业务域名

小程序中添加webview页面

  1. <web-view src="{{ src }}"></web-view>
  1. Page({
  2. data: {
  3. },
  4. onLoad: function (options) {
  5. this.setData({
  6. src: 'https://ns.s2m.cc/upload?domain=tz&maxCount=2'
  7. })
  8. },
  9. })
  • domain 传你自己的专属域名
  • maxCount 文件上传数量限制

使用方法

在需要发起上传文件的地方,跳转到上面的 webview 界面:

  1. wx.navigateTo({
  2. url: 'webview的路径',
  3. })

上传完以后,webview 会回到原来的页面,你可以通过下面的方法读取到本次上传文件的 URL 地址:

  1. WXAPI.channelDataPull('uploadH5Url')

会返回本次上传文件的数组