2017-08-31 5 views
0

ich mit diesem Code möchte ich versuchen, eseine URL als Name verwenden, um eine Datei zu speichern

URLSession.shared.dataTask(with: NSURL(string: url)! as URL, completionHandler: { (data, response, error) -> Void in 
      if let this = weakSelf{ 

und dann

let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent(url) 
         print(fileURL) 
         try data?.write(to: fileURL) 
        } catch { 
         print(error) 
        } 

ich die URL verwenden, lokal eine JSON-Datei herunterladen speichern von die JSON-Datei als Name, wenn ich versuche, sie zu speichern. Aber ich erhalte einen Fehler, der mir sagt, dass der Weg nicht existiert. Jeder denkt, dass es funktioniert. Ich versuche es mit einem normalen Namen zu speichern. Hast du eine Idee, wie du das lösen kannst?

+0

Wenn print (fileURL) ausgeführt wird, was wird gedruckt? – 3stud1ant3

Antwort

1

Es ist eine schlechte Idee, die URL als Dateiname zu verwenden. Wahrscheinlich möchten Sie die URL zuerst verarbeiten, z. B. Schema und Schrägstriche entfernen.

1

Sie können nicht die gesamte URL als Dateinamen verwenden, da die URL (Zeichenfolge) Schrägstriche und Schrägstriche Pfadtrennzeichen im Dateisystem enthält.

können Sie

url.lastPathComponent 

verwenden, um die Dateinamen der URL zu erhalten. Und verwenden Sie nicht NSURL in Swift 3. Es gibt eine native URL Struktur.

Verwandte Themen