Skip to content

在打开的h5页面中下载一个PDF文件后,想重新在本地加载不成功 #107

@FrankChung1121

Description

@FrankChung1121

目标

在线打开预览有些大一点的PDF文档会加载不出来,即使自己手动拿到h5页面里面的PDF链接下载到本地,然后执行[self.webView loadRequest: request]; 这里面的request中的URL是本地PDF文档的URL,这样也无法加载本地下载后的PDF,请问我在下载PDF文档后,调用[self.webView loadRequest: request]; 方法来重新加载是否正确?如果不正确的话,应该怎么重新加载来刷新当前的页面呢?

预期的结果

最好能实现在线预览PDF大文件,实在不行下载本地后应该支持重新加载,把本地的加载出来

实际的结果

现在实际上是只能在线加载部分小的PDF文档,大一点的就加载不了啦,下载到本地后也无法加载

比如:崩溃的控制台打印

问题复现的步骤

就是我自己自定义了一个控制器继承自你的AXWebViewController,自定义的控制器只是一些其它业务逻辑的处理,然后在打开h5的时候push我自定义的控制器来打开h5页面,h5页面里面层级有些会比较深,可能跳转了好几层,也许某一层中就会有些PDF文档,用户点击是要实现在线预览的。现在的问题是有些小的PDF文档是可以正常预览的,但是有些大的PDF文档就怎么都记载不出来,当然这个大的文档一般也只有几兆而已,页面大概有四五十页左右。我想办法让h5那边在点击PDF预览的时候传递下载链接给我,我监听到传过来的链接后就直接下载到本地沙盒,然后下载后,想刷新当前的webview重新加载本地的PDF,但是感觉刷新没用。我是在下载后调用[self.webView loadRequest: request]; 来刷新的,不知道是不是我的刷新方法对不对,如果不对的话请指点一下应该如何重新加载,谢谢!

示例代码

提供一个突出问题的代码示例或测试用例. 对于量较大的代码示例,链接到外部的gists/repositories是首选. 需要保密的话通过邮件devedbox@qq.com分享,邮件主题写issue的名称. 问题严重的话可以提供完整的Xcode工程最好!

AXWebViewController和工具的版本

echo "\`\`\`
$(sw_vers)

$(xcode-select -p)
$(xcodebuild -version)

$(which pod && pod --version)
$(test -e Podfile.lock && cat Podfile.lock | sed -nE 's/^  - (Realm(Swift)? [^:]*):?/\1/p' || echo "(not in use here)")

$(which bash && bash -version | head -n1)

$(which carthage && carthage version)
$(test -e Cartfile.resolved && cat Cartfile.resolved | grep --color=no realm || echo "(not in use here)")

$(which git && git --version)
\`\`\`" | tee /dev/tty | pbcopy

复制以上内容到终端回车,就可以获取到版本信息. 获取到版本信息之后,请将以上脚本删除!

AXWebViewController版本: 应该是最新的

Xcode版本: 差不多是最新的

iOS/OSX版本: 基本最新

依赖管理工具(cocoapods)版本: 基本最新

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions