sha*_*ria -2 post ios swift alamofire
在这里,我有一个图像,我在base64String转换(†他导致base64String太大)并尝试在服务器上发布一些其他参数,但作为回报我失败了.我有一个完成操作按钮,它开始转换并发布到服务器.我使用Alamofire作为http请求.下面是我使用但未获得结果的代码.
@IBAction func doneBtn(_ sender: Any) {
if (itemNameTF.text?.characters.count)! > 0 && (itemPriceTF.text?.characters.count)! > 0 && (itemUnits.text?.characters.count)! > 0 {
let productName = "\(itemNameTF.text!)_\(itemUnits.text!)"
let productPrice = itemPriceTF.text!
let productImage:UIImage = itemImage.image!
if let dataImage = UIImageJPEGRepresentation(productImage, 0.5)?.base64EncodedString() {
let url = "someURl"
let parameter = ["product_name": productName, "product_price": productPrice, "product_img": "\(dataImage)"]
headers = ["Content-Type": "application/json","Authorization" : "Token \(token!)"]
Alamofire.request(url, method: .post, parameters: parameter, encoding: JSONEncoding.default, headers: headers).responseJSON { response in
print(response.request)
print(response.response)
print(response.result)
print(response.result.value)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果它给了我一个回应
如果有人发现问题,请帮助我.谢谢!
只需将此行添加到您的代码中:
let fullBase64String = "data:image/png;base64,\(dataImage))"
Run Code Online (Sandbox Code Playgroud)
然后添加"fullBase64String"
let parameter = ["product_name": productName,"product_price":productPrice,product_img": "\(fullBase64String)"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2245 次 |
| 最近记录: |