使用URL作为名称来保存文件

时间:2017-08-31 12:05:46

标签: ios swift

我使用此代码下载了一个json文件

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

然后我尝试在本地保存

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)
                    }

我想在尝试保存时使用JSON文件的url作为名称。但我得到一个错误告诉我路径不存在...每个思考工作文件我尝试用普通名称保存它。你对如何解决这个问题有所了解吗?

2 个答案:

答案 0 :(得分:1)

将url用作文件名是个坏主意。您可能希望首先处理该URL,例如删除方案和斜杠

答案 1 :(得分:1)

您不能将整个URL用作文件名,因为URL(字符串)包含斜杠和斜杠是文件系统中的路径分隔符。

您可以使用

url.lastPathComponent

获取URL的文件名。并且不要在Swift 3中使用NSURL。有一个原生的URL结构。