我在iOS应用程序中从UIWebView切换到WKWebView。 Web视图将加载一个包含POST形式的远程文档。提交表单后,将通过PHP生成PDF。
要能够正确下载并显示此PDF,我需要在提交表单时捕获POST内容-并执行手动URLRequest来下载文件
我可以按以下方式捕获请求,但以下代码中的httpBody为空:
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: ((WKNavigationActionPolicy) -> Void)) {
var request = navigationAction.request
if (request.httpMethod == "POST") {
request.httpBody // <-- is EMPTY
// as the httpBody is empty, the request below does not get the required result anymore
Alamofire.request(request).responseData { response in
...
let pdfData : Data = response.result.value!
...
let docController = UIDocumentInteractionController(url: urlToLocalPdfFile)
docController.delegate = self
docController.presentPreview(animated: true)
}
}
}
这确实与UIWebView一起使用。是否可以通过上面的代码访问httpBody,或者是否可以通过任何替代方法来完成PDF下载(如上所述)?