上传照片 - 错误状态代码 500 - swift 3
Upload photos - Error status code 500 - swift 3
我正在尝试从 UIImage 上传照片,但收到错误状态代码 500,"statusCode should be 200, but is 500",有人可以帮忙解决这个问题,或者提供另一种解决方案来将图像文件上传到 swift 3? 或者我如何使用 ALAMOFIRE 解决这个问题?
let imageData = UIImageJPEGRepresentation(self.images.firstObject as! UIImage, 0.9)
let myBase64Data = imageData!.base64EncodedString(options: [])
let request = NSMutableURLRequest(url: URL(string: "http://www.example.com/members/mobileapi/uploadSingleFile/")!)
request.httpMethod = "POST"
let postString = "username=tiagotest&password=test&bpo_id=248522&encoded_string=\(myBase64Data)&image_name=testFromIphone"
request.httpBody = postString.data(using: String.Encoding.utf8)
let task = URLSession.shared.dataTask(with: request as URLRequest) {
(data, response, error) in
guard error == nil && data != nil else {
print("error=\(error)")
return
}
if let httpStatus = response as? HTTPURLResponse , httpStatus.statusCode != 200 {
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}
let responseString = String(data: data!, encoding: String.Encoding.utf8)
print(responseString!)
}
task.resume()
发生这种情况是因为 Xcode 出于安全原因不允许仅使用 http https。它已解决,包括 info.plist
中的以下代码
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
我正在尝试从 UIImage 上传照片,但收到错误状态代码 500,"statusCode should be 200, but is 500",有人可以帮忙解决这个问题,或者提供另一种解决方案来将图像文件上传到 swift 3? 或者我如何使用 ALAMOFIRE 解决这个问题?
let imageData = UIImageJPEGRepresentation(self.images.firstObject as! UIImage, 0.9)
let myBase64Data = imageData!.base64EncodedString(options: [])
let request = NSMutableURLRequest(url: URL(string: "http://www.example.com/members/mobileapi/uploadSingleFile/")!)
request.httpMethod = "POST"
let postString = "username=tiagotest&password=test&bpo_id=248522&encoded_string=\(myBase64Data)&image_name=testFromIphone"
request.httpBody = postString.data(using: String.Encoding.utf8)
let task = URLSession.shared.dataTask(with: request as URLRequest) {
(data, response, error) in
guard error == nil && data != nil else {
print("error=\(error)")
return
}
if let httpStatus = response as? HTTPURLResponse , httpStatus.statusCode != 200 {
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}
let responseString = String(data: data!, encoding: String.Encoding.utf8)
print(responseString!)
}
task.resume()
发生这种情况是因为 Xcode 出于安全原因不允许仅使用 http https。它已解决,包括 info.plist
中的以下代码<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>