将带有其他参数的图像的 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 等

如何将相机捕获的图像转换为带有颤振的base64

使用 Alamofire 将图像作为 base64String 上传

将图像转换为 Base64 字符串

在 windows phone 8.1 中将 Base64String 图像显示为 MapIcon 图像

使用 Alamofire 上传具有 base64String 编码的多个图像的数组