问题描述
我正在使用 swift 开发一个应用程序,该应用程序与我的运行 Flask 的服务器进行通信。我希望能够拍照并以 base64 格式上传。目前,我使用的 base64 编码正在生成损坏且无法使用的图像。当我使用 AVCapturePhotoOutput 时,UIImage 到 base64 教程对我不起作用,因为 swift 无法将 AVCapturePhotoOutput 转换为 UIImage。如何获得可靠运行的 base64 图像?如何将图像从 AVCapturePhotoOutput 转换为 base64?提前感谢您的任何帮助!
@IBAction func takePhotoButtonpressed(_ sender: Any) {
let settings = AVCapturePhotoSettings()
sessionOutput.capturePhoto(with: settings,delegate: self)
}
func photoOutput(_ output: AVCapturePhotoOutput,didFinishProcessingPhoto photo: AVCapturePhoto,error: Swift.Error?) {
let imageData = photo.fileDataRepresentation()
var base64String = imageData?.base64EncodedString()
解决方法
最初配置照片设置时,请通过设置 previewPhotoFormat
来请求预览图像。现在,您将能够获得照片的 previewCGImageRepresentation
,并且现在您将进入一个可以处理的像素数据世界。