ios - 除非第一个请求来自邮递员,否则无法将图像上传到服务器
问题描述
我编写了以下代码来使用 Alamofire 上传个人资料图片。现在的问题是,当我上传图片时,API 成功执行但图片没有上传。但是,如果我从 Postman 上传图像后做同样的事情,那么相同的代码就会开始工作。为什么?我的代码中是否有任何问题。请让我知道我哪里出错了。
let parameters = [
"contact_no": user.mobile,
"first_name": user.firstName,
"last_name": user.lastName,
"email_id": user.email,
"gender_id": user.gender,
"device_id": deviceId,
"state_id": user.stateID,
"city_id": user.cityID,
]
let credentialData = "\(constants.username):\(constants.password)".data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!
let base64Credentials = credentialData.base64EncodedString()
let headers = [
"Authorization": "Basic \(base64Credentials)"
]
let image = UIImagePNGRepresentation(self.profileImg.image!)
Alamofire.upload(multipartFormData:{ (multipartFormData) in
multipartFormData.append(image!, withName: "profile_image", fileName: "test.png", mimeType: "image/png")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
},usingThreshold:UInt64.init(),
to:url,
method:.post,
headers:headers,
encodingCompletion: { encodingResult in
vwWait.performSelector(onMainThread: #selector(UIView.removeFromSuperview), with: nil, waitUntilDone: false)
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
self.getProfileData()
}
case .failure(let encodingError):
print(encodingError)
}
})
解决方案
推荐阅读
- javascript - 从 json 文件 JavaScript 获取数据
- r - 在 R 中模拟一个奇怪的分布
- c# - LINQ 选择列表按百分比最接近数字的位置
- python-3.x - 在 Python 中重复相同的代码块
- amazon-athena - 汇总动态列的值并在新列中应用公式
- c# - Entity Framework 6 Core - 多列引用
- algorithm - 这两种算法分析方式哪一种是对的?它们之间有什么区别?
- java - Java Spring Boot连接池重新启动时无法重新连接到数据库
- c - 如何使用扩展宏创建一个复制头文件的新文件
- reactjs - ReactJS 使用路径导入 SVG