使用 Ionic 使用相机拍摄多张照片
Posted
技术标签:
【中文标题】使用 Ionic 使用相机拍摄多张照片【英文标题】:Taking multiple picture with camera using Ionic 【发布时间】:2018-12-20 02:51:44 【问题描述】:我们的应用程序需要拍摄多张图像,然后在用户完成后显示它们以供上传,这在 ios 和 android 相机上是否可行。没有看到任何例子。 我看过很多 Cordova 插件,似乎都支持拍摄一张图片或从图库中选择多张,不允许使用相机拍摄多张图片。
如果您已经这样做或知道这是否可行,请提供帮助
【问题讨论】:
你可以使用cordova-plugin-media-capture插件 【参考方案1】:您可以使用 cordova-plugin-media-capture
插件。此插件提供对设备的音频、图像和视频捕获功能的访问。
capture.captureImage
启动相机应用程序并返回有关捕获的图像文件的信息。
navigator.device.capture.captureImage( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions 选项] );
说明
使用设备的相机应用程序启动异步操作以捕获图像。该操作允许用户在单个会话中捕获多个图像。
当用户关闭相机应用程序或达到 CaptureImageOptions.limit 指定的最大记录数时,捕获操作结束。如果未指定限制值,则默认为一 (1),并且在用户捕获单个图像后捕获操作终止。
当捕获操作完成时,它会调用 CaptureCB 回调,其中包含描述每个捕获的图像文件的 MediaFile 对象数组。如果用户在捕获图像之前终止操作,则 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);
【讨论】:
iOS 上的多张图像捕获不起作用。在文档本身中是这样说的。 iOS 怪癖 - “不支持限制参数,每次调用只拍摄一张图像。”以上是关于使用 Ionic 使用相机拍摄多张照片的主要内容,如果未能解决你的问题,请参考以下文章
拍摄照片后,Ionic cordova 相机插件间歇性崩溃(使用 Firebase 图像上传)