使用Ionic用相机拍摄多张照片

时间:2018-07-12 01:10:54

标签: android ios cordova ionic-framework camera

我们的应用程序需要拍摄多张图像,然后在用户完成操作后显示这些图像以供上载。iOS和Android相机是否可以做到这一点?没有看到任何例子。 我看过许多Cordova插件,它们似乎都支持拍摄一张图像或从图库中选择多个,而不允许使用相机拍摄多个图像。

如果您已这样做或知道是否可行,请提供帮助

2 个答案:

答案 0 :(得分:0)

您可以使用 cordova-plugin-media-capture插件。该插件可访问设备的音频,图像和视频捕获功能。

  
    

capture.captureImage

         

启动照相机应用程序,并返回有关捕获的图像文件的信息。

         

navigator.device.capture.captureImage(             CaptureCB captureSuccess,CaptureErrorCB captureError,[CaptureImageOptions选项]         );

         

说明

         

启动异步操作以使用设备的相机应用程序捕获图像。该操作允许用户在单个会话中捕获多个图像。

         

当用户关闭相机应用程序或达到CaptureImageOptions.limit指定的最大录制数量时,捕获操作结束。如果未指定限制值,则默认值为一(1),并且在用户捕获单个图像之后捕获操作终止。

         

捕获操作完成后,它将使用描述每个捕获图像文件的MediaFile对象数组调用CaptureCB回调。如果用户在捕获图像之前终止该操作,则CaptureErrorCB回调将以具有CaptureError.CAPTURE_NO_MEDIA_FILES错误代码的CaptureError对象执行。

  

Example

  // capture callback
var captureSuccess = function(mediaFiles) {
    var i, path, len;
    for (i = 0, len = mediaFiles.length; i < len; i += 1) {
        path = mediaFiles[i].fullPath;
        // do something interesting with the file
    }
};

// capture error callback
var captureError = function(error) {
    navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};

// start image capture
navigator.device.capture.captureImage(captureSuccess, captureError, {limit:2});

答案 1 :(得分:-1)

只需使用此插件

<plugin spec="https://github.com/wymsee/cordova-imagePicker.git"/>

该插件使用getPictures方法(成功,失败,选项)创建对象window.imagePicker

window.imagePicker.getPictures(
    function(results) {
        for (var i = 0; i < results.length; i++) {
            console.log('Image URI: ' + results[i]);
        }
    }, function (error) {
        console.log('Error: ' + error);
    }, {
        maximumImagesCount: 10,
        width: 800
    }
);