+
95
-

回答

在uni-app中使用uni.uploadFile上传文件时,你可以通过设置onProgressUpdate回调函数来获取实时上传进度。以下是一个简单的示例代码:

uni.uploadFile({
  url: 'your_upload_url',
  filePath: 'your_file_path',
  name: 'file', // 上传文件的字段名
  formData: {
    // 其他请求参数
  },
  success: (uploadFileRes) => {
    console.log('上传成功', uploadFileRes.data);
  },
  fail: (err) => {
    console.error('上传失败', err);
  },
  onProgressUpdate: (res) => {
    console.log('上传进度', res.progress);
    console.log('已经上传的数据长度', res.totalBytesSent);
    console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend);
  }
});

在上面的代码中,onProgressUpdate回调函数会在上传过程中定期被调用,从而让你获取上传的实时进度信息。res.progress表示上传进度(百分比),res.totalBytesSent表示已经上传的数据长度,res.totalBytesExpectedToSend表示预期需要上传的数据总长度。

请注意,确保你的uni-app 版本支持 onProgressUpdate,因为有些老版本可能不支持该功能。如果遇到兼容性问题,你可能需要更新 uni-app 的版本。

网友回复

我知道答案,我要回答