uni-app安卓下载过后打不开文件
uni-app安卓下载过后打不开文件
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win10
HBuilderX类型:正式
HBuilderX版本号:3.2.16
手机系统:Android
手机系统版本号:Android 11
手机厂商:华为
手机机型:iqooneo855 和华为
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
### 操作步骤:
```javascript
uni.downloadFile({
url:url, //文件链接
success: function (res) {
var filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
showMenu: true,
success: function (res) {
console.log('打开文档成功');
},
fail: (err) => {
console.log(err.errMsg)
}
});
}
})
预期结果:
openDocument:fail not found 3th activity
实际结果:
openDocument:fail not found 3th activity
bug描述:
uni-app下载文件过后无法打开文件 手机上wps也下载好了 更换手机也没有用
一直提示openDocument:fail not found 3th activity

更多关于uni-app安卓下载过后打不开文件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你一定要保证,那个文件地址是对的
缺少一步 uni.saveFile 操作吧
如果还不行可以再试试这个转换
plus.io.convertLocalFileSystemURL(****)
你好,请问问题解决了么
你好,请问问题解决了么
问题解决了么。。。。求大佬分享原因。。。
这边可能是安卓下载后的文件格式错误,有可能直接被保存为了.bin格式,解决方案是,让后端返回时,修改一下content-type类型;
具体可以看这个链接 https://blog.csdn.net/HWJBJ/article/details/127769808
实践有效
这是一个典型的文件路径和系统应用关联问题。openDocument:fail not found 3th activity 错误表明系统没有找到能处理该文件类型的应用。
核心问题在于 uni.downloadFile 下载后返回的 tempFilePath 是一个临时路径(通常位于应用私有目录),而 uni.openDocument 要求一个可被系统全局访问的路径。
解决方案如下:
-
将文件保存到公共目录(关键步骤): 使用
uni.saveFile将临时文件保存到公共存储目录,使系统应用(如WPS)能够访问。uni.downloadFile({ url: url, success: function (res) { var tempFilePath = res.tempFilePath; // 将文件从临时目录移动到公共目录 uni.saveFile({ tempFilePath: tempFilePath, success: function (saveRes) { var savedFilePath = saveRes.savedFilePath; // 现在使用公共目录路径打开文档 uni.openDocument({ filePath: savedFilePath, showMenu: true, success: function (openRes) { console.log('打开文档成功'); }, fail: (err) => { console.log('打开失败:', err.errMsg); } }); }, fail: (saveErr) => { console.log('保存文件失败:', saveErr.errMsg); } }); }, fail: (downloadErr) => { console.log('下载失败:', downloadErr.errMsg); } }); -
检查文件类型与系统应用关联:
- 确保下载的文件格式(如
.pdf,.docx,.xlsx)在系统中有默认的打开应用。 - 在手机上检查该文件类型是否已关联到WPS或其他文档应用。可以尝试先在文件管理器中手动打开一个同类型文件,设置默认应用。
- 确保下载的文件格式(如
-
Android权限配置: 在
manifest.json中确保已声明必要的存储权限(Android 10/11需要):{ "app-plus": { "distribute": { "android": { "permissions": [ "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>", "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>" ] } } } }

