我们的应用程序需要拍摄多张图像,然后在用户完成操作后显示这些图像以供上载。iOS和Android相机是否可以做到这一点?没有看到任何例子。 我看过许多Cordova插件,它们似乎都支持拍摄一张图像或从图库中选择多个,而不允许使用相机拍摄多个图像。
如果您已这样做或知道是否可行,请提供帮助
答案 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对象执行。
// 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
}
);