在swift中将图像转换为BASE64字符串

Jay*_*ani 6 base64 uiimage nsdata ios swift2

我正在尝试转换用户从他的照片或从相机拍摄新照片中选取的图像.我能够将图像转换为base64字符串,但问题是它需要花费太多时间并打印一个长的无限字符串

这是我得到的String的输出

在此输入图像描述

这是我的代码:

// Image picker from Gallery
    func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
        imagePicker.dismissViewControllerAnimated(true, completion: nil)
        profileImage.image = image

    }

    // Image Picker from Camera

    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        imagePicker.dismissViewControllerAnimated(true, completion: nil)
        profileImage.image = info[UIImagePickerControllerOriginalImage] as? UIImage

        addPicBtn.setImage(nil, forState: .Normal)

        let imageData:NSData = UIImagePNGRepresentation(profileImage.image!)!
        let imageStr = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
        print(imageStr)


    }
Run Code Online (Sandbox Code Playgroud)

Sag*_*ehi 10

实际上它没有花时间转换(非常少的时间)打印它需要更多的时间,所以不要打印....

  • 你直接加。不会花太多时间。 (2认同)

Yog*_*ase 9

您可以应用此代码

let imageData: Data? = UIImageJPEGRepresentation(getImage(), 0.4)
let imageStr = imageData?.base64EncodedString(options: .lineLength64Characters) ?? ""
print(strBase64)
Run Code Online (Sandbox Code Playgroud)