uni-app钉钉小程序选择文件上传时无法获取文件大小,导致下载的文件无法打开
uni-app钉钉小程序选择文件上传时无法获取文件大小,导致下载的文件无法打开
操作步骤:
- 点击input标签获取文件
预期结果:
- 能获取到文件大小,下载下来可以打开
实际结果:
- 钉钉小程序通过选择文件的方式来上传文件获取不到文件大小,导致上传的文件下载下来无法打开
bug描述:
- 钉钉小程序通过选择文件的方式来上传文件获取不到文件大小
| 信息类别 | 内容 |
|---|---|
| 产品分类 | uniapp/小程序/阿里 |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | Windows10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.1.17 |
| 第三方开发者工具版本号 | 0.504 |
| 基础库版本号 | 0.504 |
| 项目创建方式 | HBuilderX |

App下载地址或H5网址:
更多关于uni-app钉钉小程序选择文件上传时无法获取文件大小,导致下载的文件无法打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app钉钉小程序选择文件上传时无法获取文件大小,导致下载的文件无法打开的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题是由于钉钉小程序平台在文件选择时,返回的文件对象缺少 size 属性导致的。在 uni-app 中,uni.chooseFile 或 uni.chooseImage 等 API 返回的文件信息依赖于小程序平台自身的实现。钉钉小程序目前返回的文件对象可能不包含 size 属性,导致后续上传或处理时无法正确获取文件大小,从而影响文件完整性。
解决方案:
-
使用临时文件路径上传:
如果仅用于上传,可以直接使用tempFilePath(钉钉小程序会返回该路径),通过uni.uploadFile上传。钉钉小程序内部会处理文件流,无需手动获取size。uni.chooseFile({ success: (res) => { const tempFilePaths = res.tempFilePaths; // 获取临时文件路径 uni.uploadFile({ url: 'your_server_url', filePath: tempFilePaths[0], name: 'file', success: (uploadRes) => { console.log('上传成功', uploadRes); } }); } });

