Alamofire 5.0+ MultipartFormData 上传不记名令牌
Posted
技术标签:
【中文标题】Alamofire 5.0+ MultipartFormData 上传不记名令牌【英文标题】:Alamofire 5.0+ MultipartFormData upload bearer token 【发布时间】:2020-07-13 15:46:52 【问题描述】:我已经完成了 alamofire 多部分表单数据上传的所有工作,但添加了不记名令牌。我们使用 Oauth 2.0,我们的文件需要令牌在我们的系统中进行身份验证。我只找到了一种方法来传递在我们当前系统中不起作用的用户名和密码。有没有办法将不记名令牌传递给php?
AF.upload(multipartFormData: multipartFormData in
for (key, value) in parameters
multipartFormData.append(value.data(using: .utf8)!, withName: key)
if let jpegData = image.jpegData(compressionQuality: 1.0)
multipartFormData.append(jpegData, withName: "file", fileName: "image", mimeType: "image/jpeg")
, to: "https:website" )
.uploadProgress progress in
//print("Upload Progress: \(self.progress.fractionCompleted)")
.response response in
if response.response?.statusCode == 200
print("OK. Done")
print((NSString(data: response.data!, encoding:
String.Encoding.utf8.rawValue)! as String))
else if response.response?.statusCode == 406
print("error")
DispatchQueue.main.sync
let alert = UIAlertController(title: "Error", message:
"Person has not been set up.", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "close", style: .default, handler: action in
DispatchQueue.main.async
self.progressUiView.isHidden = true
self.dismiss(animated: true, completion: nil)
))
self.present(alert, animated: true)
else
print(response.response?.statusCode)
【问题讨论】:
在此处添加您尝试过的代码。 添加了代码。抱歉有点乱。 看看我在想的代码,也许for (key, value) in parameters multipartFormData.append(value.data(using: .utf8)!, withName: key)
你可以在那里添加不记名令牌
这不是您添加不记名令牌的地方。看看我的回答。
【参考方案1】:
您需要将授权令牌添加到headers
。方法如下:
let token = "your_token_here"
AF.upload(multipartFormData: multipartFormData in
//...
, to: "https:website", headers: ["Authorization": "Bearer \(token)"])
.response response in
//...
【讨论】:
哇。我觉得很笨。这太疯狂了,我在任何地方都找不到。我所能找到的只是他们在发布 5.0 时遇到的问题。非常感谢!以上是关于Alamofire 5.0+ MultipartFormData 上传不记名令牌的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire 5.0+ MultipartFormData 上传不记名令牌
在 Swift 中使用 Alamofire 5.0 获取 3 级深度 JSON 值
Swift 3 的 ObjectMapper 和 Alamofire 问题 Alamofire 4 的 Alamofire 版本