苹果手机ios系统中wx.openDocument API 打开doc、xls、pdf、ppt等文件调用成功但是打开文件无反应/空白、或者显示文件已过期或被清理

本文主要是介绍苹果手机ios系统中wx.openDocument API 打开doc、xls、pdf、ppt等文件调用成功但是打开文件无反应/空白、或者显示文件已过期或被清理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原来的代码时和大家一样 网上搜解决方案有说加上这个指定/类型ios就能打开但是我试了不行

let state = e.currentTarget.dataset.suffix   //文档类型doc\pdf\word\ppt等
let fileUrl = e.currentTarget.dataset.fileurl  //接口wx.downloadFile({url: fileUrl, //仅为测试接口success: function (res) {var filePath = res.tempFilePathconsole.log(filePath)wx.openDocument({filePath: filePath,fileType: state,              //网上搜解决方案有说加上这个指定success: function (res) {     //类型ios就能打开但是我试了不行console.log("打开文档成功")console.log(res);},fail: function (res) {console.log("fail");console.log(res)},complete: function (res) {console.log("complete");console.log(res)}})},fail: function (res) {console.log('fail')console.log(res)},complete: function (res) {console.log('complete')console.log(res)}})

改成如下就ok ,本来是一个虚拟的远程地址不知道为啥ios系统就是解析不了,官方从19年开始有人问他就是不改。换种储存方式,改成本地储存的就行了。

 wx.downloadFile 添加 filePath: wx.env.USER_DATA_PATH + "/" + name

 var filePath = res.tempFilePath 改成 var filePath = res.filePath 就解决了多传一个name字段

let state = e.currentTarget.dataset.suffix   //文档类型doc\pdf\word\ppt等
let fileUrl = e.currentTarget.dataset.fileurl  //接口
let name = e.currentTarget.dataset.name      //文件名wx.downloadFile({url: fileUrl, //仅为测试接口filePath: wx.env.USER_DATA_PATH + "/" + name, //name是要打开文件的文件名称success: function (res) {var filePath = res.filePathconsole.log(filePath)wx.openDocument({filePath: filePath,fileType: state,              //网上搜解决方案有说加上这个指定success: function (res) {     //类型ios就能打开但是我试了不行console.log("打开文档成功")console.log(res);},fail: function (res) {console.log("fail");console.log(res)},complete: function (res) {console.log("complete");console.log(res)}})},fail: function (res) {console.log('fail')console.log(res)},complete: function (res) {console.log('complete')console.log(res)}})

这篇关于苹果手机ios系统中wx.openDocument API 打开doc、xls、pdf、ppt等文件调用成功但是打开文件无反应/空白、或者显示文件已过期或被清理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/187948

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)