openDocument() {
uni.downloadFile({
url: 'http://122.9.134.74:9530/jeeplus-vue/userfiles/bussinessFlie/hr/CrrcPaList/2021/12/testpdf.pdf',
success: (res) => {
console.log(res)
uni.openDocument({
filePath: res.tempFilePath,
success: () => {
console.log('打开文档成功');
},
fail(res) {
console.log(res)
}
});
}
});
},
- 发布:2021-12-10 10:55
- 更新:2021-12-10 15:26
- 阅读:1418
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11.2.3
HBuilderX类型: 正式
HBuilderX版本号: 3.2.16
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone11
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
点击 url 预览文件
点击 url 预览文件
预期结果:
软件内打开文件
软件内打开文件
实际结果:
提示
{
"errMsg": "openDocument:fail 文件不存在,https://ask.dcloud.net.cn/article/282",
"errCode": -4,
"code": -4
}
提示
{
"errMsg": "openDocument:fail 文件不存在,https://ask.dcloud.net.cn/article/282",
"errCode": -4,
"code": -4
}
bug描述:
ios直接预览文件 ,download提示都成功 但是打开时提示
{
"errMsg": "openDocument:fail 文件不存在,https://ask.dcloud.net.cn/article/282",
"errCode": -4,
"code": -4
}
1***@163.com (作者)
只测过这一个设备 你那边试过我提供的url 吗
2021-12-10 16:07
1***@163.com (作者)
url 携带的信息是有什么特殊的吗 ios 的http response中需要指定啥参数吗, 我在示例中有些url 在ios可以打开
2021-12-10 16:14
天生DR
回复 1***@163.com: 你的respose 中的 content-Type 无效
2021-12-10 17:55
天生DR
我两种方式验证了下 1.浏览器下载了pdf 本地起个web服务正常 2.手机抓包 发现 http的response 的 content-type 无效
2021-12-10 17:56
1***@163.com (作者)
回复 天生DR: 加上了content-type 也还是不行
2021-12-12 14:11
天生DR
回复 1***@163.com: 你本地起个web 服务 然后把这个文件 试一下 然后对比一下服务端是不是有什么特殊限制
2021-12-13 11:05
1***@163.com (作者)
回复 天生DR: 你的意思将uniapp 用web打开 ?
2021-12-13 13:12
天生DR
回复 1***@163.com: 就是你本地模拟服务器 起个服务 我这边是OK的 不知道你们服务端做了什么....
2021-12-13 20:11