我有这个卷曲帖子,可以正常工作,但是对于我的生活,我无法让它与NSURLSession或Alamofire一起使用。返回精细的卷曲是:
curl https://api.truevault.com/v1/vaults/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/blobs
-X POST
-u yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyy:
--form "file=@foo.pdf"
-H "Content-Type:multipart/form-data"
无论 curl 或 NSURL 的变体是什么,我都会收到 401 错误,但它使用 curl 成功完成!请帮忙!谢谢!
当前阿拉莫火尝试
let headers = ["Authorization": Config.trueVaultKey, "Content-Type": "multipart/form-data"]
Alamofire.upload(
Alamofire.Method.POST,
url!,
headers: headers,
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(
data: dat!,
name: "file",
fileName: "license.png",
mimeType: "image/png"
)
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseString { response in
//JSON = response.result.value! as String
debugPrint(response)
print("nnnREQUEST HEADER: (response.request!.allHTTPHeaderFields!)")
print("nnnREQUEST BODY: (response.request!.HTTPBody)")
print("nnnREQUEST BODY STREAM: (response.request!.HTTPBodyStream)")
}
case .Failure(let encodingError):
print(encodingError)
}
})
尝试像这样构建您的 URL:
let userAuth = "username:password" // credential
let url = "https://(userAuth)@api.truevault.com/v1/vaults/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/blobs" // notice the at(@) sign
不要设置标题,它们将自动设置。