Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift 2.0中将图像转换为base64而不丢失图像?_Ios_Swift_Image Processing_Base64_Image Conversion - Fatal编程技术网

Ios 如何在swift 2.0中将图像转换为base64而不丢失图像?

Ios 如何在swift 2.0中将图像转换为base64而不丢失图像?,ios,swift,image-processing,base64,image-conversion,Ios,Swift,Image Processing,Base64,Image Conversion,下面的方法我会尝试,但图像显示不正确,它会丢失 func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[字符串:AnyObject]){ img_View.image=info[UIImagePickerControllerOriginalImage]作为?UIImage 将image=info[UIImagePickerControllerOriginalImage]设为!

下面的方法我会尝试,但图像显示不正确,它会丢失

func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[字符串:AnyObject]){
img_View.image=info[UIImagePickerControllerOriginalImage]作为?UIImage
将image=info[UIImagePickerControllerOriginalImage]设为!UIImage
让imageData:NSData=uiImagePngResentation(图像)!
strImage=imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
打印(条纹)
dismissViewControllerAnimated(真,完成:无)
}
这里是有损图像
当我将图像解码到计算机中时,我得到的是略带模糊的完整图像,但当我将base64字符串发送到服务(WEBAPI)(Windows PC)时,它们只得到图像的一半。有人能帮我解决这个问题吗

您可能正在使用选项
CharacterLineLength


我只是这样做:
imageData.base64EncodedDataWithOptions(NSDataBase64EncodingOptions())
Swift 3

    var sample = UIImage(named: "try-swift-logo")
    let imageData:Data =  UIImagePNGRepresentation(sample!)!
    let base64String = imageData.base64EncodedString()
斯威夫特4 这个问题有点老了,但作为谷歌的顶级搜索结果之一,我将为swift4添加解决方案

您需要定义编码选项


你说“不恰当地展示”是什么意思?你的意思是
strImage
没有打印出编码的图像吗?@Fonix,他得到的空间图像就像半个图像被损坏一样。可能
encoding64 characterlinelength
选项干扰了使用base64数据的任何内容,请尝试不使用任何内容option@fonix,谢谢,这对我来说很有效,但在API团队中得到了一半的图像。
let image = UIImage(named: "yourimagename")
let imageData = UIImagePNGRepresentation(image)
let base64Str = imageData?.base64EncodedString(options: .lineLength64Characters)