Как уменьшить длину строки base64 - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь преобразовать изображение, выбранное из UIImagePickerController в base64 строку. Но длина String составляет более 12 Corer, что приводит к зависанию iPhone.

Это код, который я использую.

 func compressImage(img:UIImage) -> String {
    Utill.showProgress()
    var imageData =  Data(UIImagePNGRepresentation(img)! )
    print("***** Uncompressed Size \(imageData.description) **** ")
    imageData = UIImageJPEGRepresentation(img, 0.025)!
    print("***** Compressed Size \(imageData.description) **** ")
    let image = UIImage(data: imageData)
    let imagesData:NSData = UIImagePNGRepresentation(image!)! as NSData
    let strBase64 = imagesData.base64EncodedString(options: .lineLength64Characters)
    Utill.dismissProgress()
    return strBase64

}

Есть ли другой способ уменьшить строку, чтобы она была около 10–30K?

1 Ответ

0 голосов
/ 14 июня 2019

Попробуйте этот код,

func convertImageToBase64(image: UIImage)-> String  {

    if let imageData = image.jpegData(compressionQuality: 0.25){
       let base64String = imageData.base64EncodedString()
       return base64String
    }

   return ""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...