Я создал адаптивный веб-сайт, на котором пользователь без входа в систему может загружать PDF-файлы. Когда пользователь нажимает на тег href (<a href="https://mysite/test/GetDocumentFile?type=PDF&docId=xxx">test</a>
), он запускает процесс загрузки. На любом настольном браузере он работает и начинает загрузку. Я также протестировал веб-просмотр android, и он работает. Очевидно, что в этом случае в студии android я дал разрешение на хранение и добавил слушатель для загрузки ... и он загрузил файл в хранилище смартфона android (я не хочу показывать его в веб-просмотре) , Я не нашел никакого решения для iOS веб-просмотра. Я использовал Xcode с swift 4. Он отображает веб-приложение, но когда я нажимаю тег href, он отображает PDF, но у меня нет возможности сохранить его в какую-либо папку (например, папка для скачивания). Проблема с приведенным выше кодом заключается в том, что после того, как веб-просмотр отображает pdf-файл правильно, я нажимаю кнопку, а затем NSData(contentsOf: URL(string: documentPathToLoad)!)
пытаюсь загрузить файл снова, но это дает мне nil
... действительно, если каким-то образом я могу получить данные PDF уже отображается в веб-обозревателе. Я думаю, что мой код будет работать нормально.
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = "mysite"
let request = URLRequest(url: URL(string: url)!)
webView.navigationDelegate = self
self.webView.load(request)
}
func savePdf(urlD: String) throws {
let documentPathToLoad = "https://mysite/test/GetDocumentFile?type=PDF&docId=xxx"
let documentsURL = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let pdfDocURL = documentsURL.appendingPathComponent("documento.pdf")
let pdfData = NSData(contentsOf: URL(string: documentPathToLoad)!)
try pdfData?.write(to: pdfDocURL)
loadPDFAndShare()
}
}