gpt4 book ai didi

ios - Alamofire 不发送上传请求(根本没有建立连接)

转载 作者:行者123 更新时间:2023-11-30 14:19:44 25 4
gpt4 key购买 nike

我想上传最近从 DocumentPicker(例如 iCloud、Dropbox 等)下载的文件(在我的应用程序中)所以我有这个文件的 NSUrl (urlToFile)(已验证)

我使用此代码上传:

  upload(.POST, Config.uploadURL, urlToFile!)
.progress { (bytesWritten, bytesWrittenInTotal, bytesToBeWritten) -> Void in
println("Bytes: \(bytesWrittenInTotal)")
}
.responseString{(request, response, JSON, error) in
println(request)
println(response)
println(JSON)}

根本没有上传连接。接收上传的 php 文件具有日志功能,因此该文件的每次调用都会被记录。上面显示的代码从未建立连接。

这是我收到的输出:

{ URL: http://correctURLtoThePHPScript }

nil

nil

错误消息:

The operation couldn’t be completed. Is a directory

我认为这是由于 documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL) 返回带尾部斜杠的 fileUrl。但即使我通过下面的代码删除尾随斜杠,我也会收到相同的错误消息!

let s = url.URLString
let strippedUrl = s.substringToIndex(advance(s.startIndex, count(s)-1))
urlToFile = NSURL(string: strippedUrl)

解决方案:使用 urlToFile = NSURL(fileURLWithPath: strippedUrl) !!

最佳答案

总结所有评论:

  • 始终打印/监听从Alamofire(或核心数据,或其他任何东西)返回的NSError值。他们与您的代码进行通信的唯一方法是通过这些错误
  • 问题是文件路径以路径分隔符结尾,即 /path/to/my/file.txt/
  • 删除末尾有问题的 /:
let s: NSString = "/path/to/my/file/" as NSString
s.substringToIndex(s.length-1)

关于ios - Alamofire 不发送上传请求(根本没有建立连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30624166/

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