читать файл docx с сервера в WKWebView

Как показать файл .docx, сгенерированный на PHP-сервере, в представлении с веб-представлением?

Если я изменю URL на https://www.google.ca/, это показано на виде, но когда я пытаюсь прочитать Http: //blog.local: 4711 / API / счета / 69 / загрузить это показывает пустую область.

На консоли, использующей точки останова, я вижу, что она идет в правильную строку.

Используя тот же URL (Http: //blog.local: 4711 / API / счета / 69 / загрузить) в любом браузере я могу скачать файл.

быстрый код:

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;

0

Решение

После того, как Джон Элмор ответил, что это сработало ….. НО, я не знаю почему … только после перезапуска Xcode.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector