微信小程序提供了 wx.uploadFile 和 wx.downloadFile 这两个 API,用于上传和下载文件。

1. 上传文件 - wx.uploadFile

wx.uploadFile 用于将本地资源上传到服务器。以下是一个简单的上传文件的示例:
wx.chooseImage({
  success: function (res) {
    const tempFilePaths = res.tempFilePaths;

    wx.uploadFile({
      url: 'https://api.example.com/upload',
      filePath: tempFilePaths[0],
      name: 'file',
      formData: {
        'user': 'test'
      },
      success: function (uploadRes) {
        console.log('上传成功', uploadRes.data);
      },
      fail: function (uploadError) {
        console.error('上传失败', uploadError);
      }
    });
  }
});

上述代码中的参数说明如下:

  •  url: 上传的服务器接口地址。

  •  filePath: 要上传文件资源的路径。

  •  name: 服务器定义的文件字段名称。

  •  formData: 额外的请求参数,以对象的形式传递。


2. 下载文件 - wx.downloadFile

wx.downloadFile 用于下载文件。以下是一个简单的下载文件的示例:
wx.downloadFile({
  url: 'https://example.com/file.zip',
  success: function (res) {
    if (res.statusCode === 200) {
      console.log('下载成功', res.tempFilePath);
    } else {
      console.error('下载失败', res);
    }
  },
  fail: function (error) {
    console.error('下载失败', error);
  }
});

上述代码中的参数说明如下:

  •  url: 要下载文件的 URL。

  •  success: 下载成功的回调函数,res.tempFilePath 是临时文件路径。

  •  fail: 下载失败的回调函数。


在实际应用中,你可能需要更复杂的逻辑,例如显示下载进度、处理下载失败的重试等。详细的 API 文档可以在[微信小程序官方文档 - 网络](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html)中查阅。


转载请注明出处:http://www.zyzy.cn/article/detail/840/微信小程序