我试图从服务器下载文件内容,创建一个客户端文件并将所有内容传输到该文件中。我正在将文件保存到本地存储器中,但是它无法保存并抛出异常,提示您没有权限保存在文件夹中。已尝试许多方法但无法解决。我对iOS编程很陌生,请帮帮我,谢谢。
以下是我的代码:
我已经尝试使用相对路径和绝对字符串,但仍然没有成功。
这是错误信息:
Error Domain=NSCocoaErrorDomain Code=513 "你没有权限在文件夹“0103E60B-478F-475B-A8F2-788534F5D206”中保存文件“DocumentsImport From IE.doc”" UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/0103E60B-478F-475B-A8F2-788534F5D206/DocumentsImport From IE.doc, NSUnderlyingError=0x1076efe90 {Error Domain=NSPOSIXErrorDomain Code=1 "操作不允许"}}。
以下是我的代码:
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
var fileURL : URL = URL(fileURLWithPath: documentsUrl!.path+filename)
fileURL = URL(fileURLWithPath: documentsUrl!.path+filename+".doc")
let data = NSData(contentsOf: tempLocalUrl)
do {
try data?.write(to: fileURL, options: .atomic)
} catch {
print(error,"helooooooooooooooooo")
}
我已经尝试使用相对路径和绝对字符串,但仍然没有成功。
这是错误信息:
Error Domain=NSCocoaErrorDomain Code=513 "你没有权限在文件夹“0103E60B-478F-475B-A8F2-788534F5D206”中保存文件“DocumentsImport From IE.doc”" UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/0103E60B-478F-475B-A8F2-788534F5D206/DocumentsImport From IE.doc, NSUnderlyingError=0x1076efe90 {Error Domain=NSPOSIXErrorDomain Code=1 "操作不允许"}}。
documentsUrl
是从哪里来的?你是如何提取那个URL的? - holex/
,例如.../Documents
+/
+Import From IE.doc
,你目前没有这个/
- 最好使用addPathComponent(...)
而不是连接原始字符串值... 这可能有助于避免将来出现这样的故障。 - holex