我使用cordova-plugin-camera
来访问混合应用中的相机。我需要捕获照片并将其作为base64发送以供上传。捕获照片时,我可以指定以下内容:
destinationType: Camera.DestinationType.DATA_URL
这会返回一个编码为base64的图像。然而,DATA_URL可能会占用大量内存,并导致应用崩溃或内存不足错误(如插件文档中所述)。因此,我的应用在较弱的设备上会崩溃,所以使用DATA_URL
是不可行的。使用默认的FILE_URI
应该可以解决这个问题,但我的后端配置为只接受base64编码的图像。
我的问题是,是否有方法将图像从FILE_URI转换为DATA_URL base64编码?
2条答案
按热度按时间5rgfhyps1#
您可以从
FILE_URI
下载图片,然后必须在画布中呈现图像,然后使用canvas.toDataURL
方法从画布中获取base64。tcbh2hod2#
要将FILE_URI转换为base64数据(即DATA_URL),可以执行以下操作:
这将返回一个promise,以获取您的base64数据:
PS:文件URI应类似于文件:///存储/0/android...