繁体   English   中英

iOS 拍照并转换为 Base64 字符串

[英]iOS take a photo and convert to Base64 String

我有一个简单的拍照应用程序,我需要它非常简单地将 imageData 转换为 base64 编码的字符串,这就是我所做的:

if let videoConnection = stillImageOutput.connectionWithMediaType(AVMediaTypeVideo){
    stillImageOutput.captureStillImageAsynchronouslyFromConnection(videoConnection) { (imageDataSampleBuffer, error) in
        self.imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(imageDataSampleBuffer)
        let base64String = self.imageData.base64EncodedDataWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
        print(base64String)
    }
}

我希望这会产生类似于这样的字符串:

%2F9j%2F4AAQSkZJRgABAQAAAQABAAD%2F2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHB...

但是我得到的看起来像这样:

<2f396a2f 34414151 536b5a4a 52674142 41514141 53414249 4141442f 345142...

我究竟做错了什么?

只是为了澄清,我肯定会拍照并且我可以使用:

self.image = UIImage(data: self.imageData) 
UIImageWriteToSavedPhotosAlbum(self.image, self, nil, nil)

把它保存到设备中,所以照片肯定在那里。

谢谢@johny ,您的回答是正确的!

解决方案是使用这个:

base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)

取而代之的是:

base64EncodedDataWithOptions(NSDataBase64EncodingOptions(rawValue: 0))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM