gpt4 book ai didi

php - 在 WKWebView 上从服务器读取 docx 文件

转载 作者:行者123 更新时间:2023-11-30 11:40:49 25 4
gpt4 key购买 nike

如何在具有 Web View 的 View 上显示 PHP 服务器上生成的 .docx 文件?

如果我将网址更改为 https://www.google.ca/ ,它显示在 View 上,但是当我尝试读取 http://blog.local:4711/api/invoices/69/download 时它显示了一个空白区域。

在使用断点的控制台上,我看到它转到了正确的行。

通过在任何浏览器上使用相同的 URL ( http://blog.local:4711/api/invoices/69/download ),我可以下载该文件。

快速代码:

import UIKit
import WebKit

class InvoicePreviewViewController: UIViewController {

@IBOutlet weak var preview: WKWebView!

override func viewDidLoad() {
super.viewDidLoad()
}

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let url = URL(string: "http://blog.local:4711/api/invoices/69/download")

if let unwrappedURL = url {
let request = URLRequest(url: unwrappedURL)
let session = URLSession.shared

let task = session.dataTask(with: request) { (data, response, error) in
if error == nil {
DispatchQueue.main.async {

self.preview.load(request)
}
} else {
print("no")
}
}
task.resume()
}
}

}

PHP 代码

 ...
$filename = $this->filename;
$this->_templateProcessor->saveAs($filename);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $filename);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
flush();
readfile($filename);
unlink($filename); // deletes the temporary file
exit;

最佳答案

按照 John Ellmore 的回答,它起作用了......但是,我不知道为什么......只有在我重新启动 Xcode 之后。

关于php - 在 WKWebView 上从服务器读取 docx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49305963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com