我们实施的phonegap应用程序利用相机拍摄图像。 捕获图像后,使用img标记临时显示在应用程序中,并作为base64编码字符串上传到服务器。
我们的要求是防止在手机图库中保存任何形式的图像。
为了解决这个问题,我们使用了phonegap 2.0框架中提供的SaveToPhotoAlbum:false选项
代码摘录显示在
下面 navigator.camera.getPicture(captureSurfaceSuccess(surface), captureSurfaceFail, {
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA,
quality: 30,
targetWidth: 1600,
targetHeight: 1200,
saveToPhotoAlbum: false
});
我们尝试了DATA_URL和FILE_URI,但在不同的手机中发现了以下行为。
在此发布:Deleting a gallery image after camera intent photo taken 解释说这是一个原生的android问题,但建议删除最后一个文件的解决方案不适用,因为应该禁止在库中保存。
我们希望了解解决此问题的任何替代方案,或者用于防止此问题并向我们发送原始数据的手机屏幕自定义相机插件的可用性。
另请注意:目前Android是唯一的目标移动平台
答案 0 :(得分:0)
我们设法通过使用我们自己的SurfaceView Camera插件来解决这个问题,该插件将捕获图像并压缩它并作为base64字符串传递给Cordova WebView。这使我们能够在没有Cordovas隐式保存到库的情况下管理内存中的图像。