将带有其他参数的图像的 base64String 快速发布到服务器
Posted
技术标签:
【中文标题】将带有其他参数的图像的 base64String 快速发布到服务器【英文标题】:Post base64String of image with other parameters to server swift 【发布时间】:2017-03-27 05:36:21 【问题描述】:在这里,我有一个图像,我在 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)
结果它给了我一个回应
如果有人发现问题,请帮助我。谢谢!
【问题讨论】:
【参考方案1】:只需将此行添加到您的代码中:
let fullBase64String = "data:image/png;base64,\(dataImage))"
然后添加“fullBase64String”
let parameter = ["product_name": productName,"product_price":productPrice,product_img": "\(fullBase64String)"]
【讨论】:
以上是关于将带有其他参数的图像的 base64String 快速发布到服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有图像(base 64 字符串)的电子邮件中的 html 发送到 Outlook、gmail 等
使用 Alamofire 将图像作为 base64String 上传