gpt4 book ai didi

ios - NSURLConnection 完成错误 - 尝试在 iOS 中编码 URL 时代码 -1002

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:34 25 4
gpt4 key购买 nike

我正在尝试对 URL 进行编码。当我对我的包中的文件进行编码时,代码工作正常。但是当我尝试对写入 Documents 和 Cache 的文件进行编码时,程序无法编码。

这是我的编码器:

private class func EncodeURL(_ url:URL,encoding:UInt) ->String {
do{
return try NSString(contentsOf: url, encoding: encoding) as String
}catch{}

return ""
}

我正在使用以下三个:

content = EncodeURL(url, encoding: String.Encoding.utf8.rawValue)
content = EncodeURL(url, encoding: 0x80000632)
content = EncodeURL(url, encoding: 0x80000631)

而且它们都不起作用。

这是我用来生成文件的代码。我将它们放在文档文件夹中。

func writeFile(fileName:String,data:NSData)->Bool{

guard let filePath = createFilePath(fileName: fileName) else{
return false
}
return data.write(toFile:filePath,atomically:true)
}

func createFilePath(fileName:String)->String?{
let dir = getCachePath()
if(!dirExists(dir: dir) && !createDir(dir: dir)){
return nil
}
let filePath = dir + fileName
if(fileExists(path: filePath)){
do{
try getFileManager().removeItem(atPath: filePath)
}catch{
return nil
}
}
return filePath
}

func getCachePath()->String{
var cacheDir = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, .userDomainMask, true).first!
if(!cacheDir.hasSuffix("/")){
cacheDir += "/"
}
cacheDir += CACHEPATH + "/" //CACHEPATH is just NSHomeDirectory()
return cacheDir
}

writeFile(fileName: String(timeInterval)+"_"+somestring+".txt", data: data! as NSData)

以上是我生成文件的方式。

我传递 URL 的方式是:

url = URL(string:getCachePath()+bookname+".txt")

传递给

EncodeURL(url:URL,encoding:UInt) 

我的网址是:

/Users/houki/Library/Developer/CoreSimulator/Devices/67C921C8-18A3-4A3F-81FF-C3AF04E88049/data/Containers/Data/Application/85633861-90E6-4DB8-95B0-86C359C74C6B/Documents//Users/houki/Library/Developer/CoreSimulator/Devices/67C921C8-18A3-4A3F-81FF-C3AF04E88049/data/Containers/Data/Application/85633861-90E6-4DB8-95B0-86C359C74C6B/1511757881.83107_bigbrother.txt

这看起来很奇怪吗?不过,我正在模拟器上对其进行测试。

但实际上,当我尝试通过路径读取文件时,它工作得很好。以下代码正在运行。

let contentsofPath = try FileManager.default.contentsOfDirectory(atPath: getCachePath())

最佳答案

您没有正确创建您的 URL。您正在将路径传递给 string 参数。您需要使用 URL(fileURLWithPath:) 初始值设定项。

let url = URL(fileURLWithPath: path)

如果您传递的字符串是以 URL 方案开头的有效 URL,则仅使用 URL(string:) 初始化器。

关于ios - NSURLConnection 完成错误 - 尝试在 iOS 中编码 URL 时代码 -1002,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47504224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com