J'ai un problème avec le téléchargement de pdf, l'enregistrement dans le répertoire de documents et le chargement dans la vue web. Je n'ai aucune expérience avec les choses de téléchargement, en sauvegardant des choses dans les répertoires et UIWebView auparavant.Télécharger le PDF, l'enregistrer dans le répertoire de documents et le charger dans UIWebView
Avant de poser cette question, j'ai recherché plusieurs questions sur StackOverflow et fait de mon mieux, mais cela ne fonctionne toujours pas.
First Voilà comment je télécharger le PDF de l'URL et enregistrez-le répertoire document
let myURL = URL(string: "https://example/example/product.pdf")
let urlRequest = NSURLRequest(url: myURL!)
do {
let theData = try NSURLConnection.sendSynchronousRequest(urlRequest as URLRequest, returning: nil)
var docURL = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last as? NSURL
docURL = docURL?.appendingPathComponent("my.pdf") as NSURL?
try theData.write(to: docURL as! URL)
print("downloaded")
} catch (let writeError) {
print("error : \(writeError)")
}
Les pauses d'application pendant un certain temps et imprime « chargées »
Voici comment je vérifie la liste des contacts dans le répertoire de mes documents
let docURL = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last)
do{
let contents = try (FileManager.default.contentsOfDirectory(at: docURL!, includingPropertiesForKeys: nil, options: FileManager.DirectoryEnumerationOptions.skipsHiddenFiles))
print("There are")
print(contents)
}
catch (let error)
{
print("error contents \(error)")
}
rints "Il y a [fichier: ///private/var/mobile/Containers/Data/Application/DF6A310C-EB7E-405E-9B1B-654486B5D03A/Documents/my.pdf]"
Voilà comment je charge la pdf en webView
var webView = UIWebView(frame : vc.view.frame)
webView.scalesPageToFit = true
var paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
var documentsDirectory = paths[0]
var filePath = URL(fileURLWithPath: documentsDirectory).appendingPathComponent("my.pdf").absoluteString
var targetURL = URL(fileURLWithPath: filePath)
var request = URLRequest(url: targetURL)
webView.loadRequest(request)
vc.view.addSubview(webView)
Le WebView arrive mais ne montre rien. Je suis vraiment confus si my.pdf est vraiment enregistré avec un format PDF lisible.
Je ne sais pas s'il y a des choses comme je dois ajouter quelque chose dans info.plist ou activer quelque chose dans les capacités de l'application. Merci beaucoup.
En dehors de votre question 'NSURLConnection' est dépréciée utilisation' NSURLSession' maintenant – Rajat
salut @thura oo, si possible, je vous demande de donner votre code de travail comme une réponse de telle sorte que Dans mon cas, j'ai le même scénario que le vôtre mais je n'arrive pas à comprendre comment procéder étape par étape. S'il vous plaît aidez-moi avec votre code. Merci d'avance. – deltami