2017-03-27 83 views
-2

在這裏我有一個圖像,我在base64String(†他導致base64String太大),並嘗試在服務器上發佈一些其他參數,但作爲回報我得到失敗。我有一個完成操作按鈕,它開始轉換併發布到服務器。我使用Alamofire進行http請求。下面是我使用的代碼,但沒有得到結果。發佈base64String的圖像與其他參數到服務器swift

@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) 
      } 
     } 
    } 
} 

在結果它給我的

enter image description here

的響應,請幫助我,如果任何人都可以發現問題。謝謝!

回答

5

只需添加這行到你的代碼:

let fullBase64String = "data:image/png;base64,\(dataImage))" 

,然後添加 「fullBase64String」

let parameter = ["product_name": productName,"product_price":productPrice,product_img": "\(fullBase64String)"] 
相關問題