Swift 在alamofire和URLSession中上传数据密钥,如何添加?

Swift 在alamofire和URLSession中上传数据密钥,如何添加?,swift,upload,http-headers,httprequest,alamofire,Swift,Upload,Http Headers,Httprequest,Alamofire,我需要上传数据到服务器,有这个功能 uploadTask(带请求:URLRequest,来自bodyData:Data)->URLSessionUploadTask alamofire使用的签名几乎相同 上传(u数据:数据,带urlRequest:URLRequestConvertible) 知道如何将名称添加为附加数据的键吗 我看到过在标题中添加文件名,我检查过apple文档,但没有说明任何内容 非常感谢假设您想上传一个名为userImage的图像,那么您可以使用Alamofire的多部分功能

我需要上传数据到服务器,有这个功能

uploadTask(带请求:URLRequest,来自bodyData:Data)->URLSessionUploadTask

alamofire使用的签名几乎相同

上传(u数据:数据,带urlRequest:URLRequestConvertible)

知道如何将名称添加为附加数据的键吗

我看到过在标题中添加文件名,我检查过apple文档,但没有说明任何内容


非常感谢

假设您想上传一个名为
userImage
的图像,那么您可以使用
Alamofire
的多部分功能。我在这里使用了
SwiftyJSON
。您可以根据自己的要求进行修改

var parameters: [String:Any]?

//fill your parameters with data. Image is stored as Data and other values are string in this case.

Alamofire.upload(multipartFormData: { (multipartFormData:MultipartFormData) in
        for (key, value) in parameters! {
            if key == "userImage" {
                multipartFormData.append(
                    value as! Data,
                    withName: key,
                    fileName: "profileImage.jpg",
                    mimeType: "image/jpg"
                )
            } else {
                //multipartFormData
                multipartFormData.append((value as! String).data(using: .utf8)!, withName: key)
            }
        }
    }, usingThreshold: 1, to: "yourServiceURL", method: .post, headers: ["yourHeaderkey":"value"]) { (encodingResult:SessionManager.MultipartFormDataEncodingResult) in

        switch encodingResult {
        case .success(let upload, _, _):
            upload.responseJSON { response in
                if response.result.error != nil {
                    return
                }
                if let data = response.result.value {
                    let json = JSON(data)
                }
            }
            break

        case .failure(let encodingError):
            debugPrint(encodingError)
            break
      }
  }

你想上传什么?您想使用多部分请求还是正在执行一些上传任务,如文件上传到服务器?不,不是我的问题