【问题标题】:Swift upload file to PHP serverSwift 上传文件到 PHP 服务器
【发布时间】:2015-06-27 07:46:48
【问题描述】:

所以我将文件从 swift 上传到 PHP 服务器,POST 请求按预期到达,带有标题,但我无法从 $_FILES 中获取任何内容。它只是一个空数组。

我显然在 Swift 方面做错了,这是我的代码:

func testUpload(){
    let bundle = NSBundle.mainBundle()
    let path = bundle.pathForResource("someTestFile", ofType: "zip")!
    var data: NSData = NSData(contentsOfFile: path)!

    var request = NSMutableURLRequest(URL: NSURL(string: "http://testsite.com/upload")!)
    request.HTTPMethod = "POST"

    let boundary = "----------ds2Gry67efddagdfsfhsHF"
    let contentType = "multipart/form-data; boundary=\(boundary)"
    request.setValue(contentType, forHTTPHeaderField:"Content-Type")
    request.setValue("Keep-Alive", forHTTPHeaderField: "Connection")
    self.uploadFiles(request, data: data)
}

func uploadFiles(request: NSURLRequest, data: NSData) {
    var configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
    var session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: NSOperationQueue.mainQueue())
    var task = session.uploadTaskWithRequest(request, fromData: data)
    task.resume()
}

我很确定我错过了什么,我只是不知道它是什么......

【问题讨论】:

  • 可能与 contentDisposition 有关?
  • 您是否考虑过改用 Alamofire?
  • 看到这个很好的答案stackoverflow.com/questions/26162616/…
  • 您要发送什么类型的文件?您是否尝试使用该文件发送其他任何内容?您是否尝试过 $_FILE 和 $_POST 数组的 var_dump?
  • @jkaufman 这只是一个 zip 文件,除了一些标头之外没有发送任何其他内容,因此 $_POST 也是空的

标签: php swift file-upload


【解决方案1】:

POST方法,需要添加header application/x-www-form-urlencoded

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多