2

我们实现的 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,但注意到不同手机中的以下行为。

  1. 某些设备不保存到图库 - 要求
  2. 某些设备会保存到图库和临时位置。(FILE_URI)
  3. 某些设备仅保存到图库。

在此处发布:在拍摄相机意图照片后删除图库图像 说明这是一个原生 android 问题,但建议删除最后一个文件的解决方案不适用,因为应绝对禁止在图库中保存。

我们想知道解决此问题的任何替代方案,或用于防止此问题并向我们发送原始数据的 phonegap 自定义相机插件的可用性。

另请注意:目前 Android 是唯一的目标移动平台

4

1 回答 1

1

我们设法通过使用我们自己的 SurfaceView 相机插件解决了这个问题,该插件将捕获图像并将其压缩并作为 base64 字符串传递给 Cordova WebView。这使我们能够在没有 Cordovas 隐式保存到图库的情况下管理内存中的图像。

于 2015-02-22T05:14:55.367 回答