科尔多瓦相机插件allowEdit属性在少数手机中不起作用
Posted
技术标签:
【中文标题】科尔多瓦相机插件allowEdit属性在少数手机中不起作用【英文标题】:cordova camera plugin allowEdit property not working in few phones 【发布时间】:2018-07-09 11:14:45 【问题描述】:我开发了一个 Cordova 应用程序,我在其中使用 Cordova 相机插件 (https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/index.html) 通过相机或图库从手机拍摄图像,并根据固定的帧大小进行裁剪以保存在服务器上。但是当用户从图库中选择图像时,裁剪工具不适用于某些手机,例如 Redmi Note 4、Redmi Note 3、Redmi 3S Prime、LeTv 手机,尽管我给出了“allowEdit:true”。
JS代码:-
navigator.camera.getPicture(uploadPhoto, function(message)
,
//quality: 99,
quality: 25,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
allowEdit: true,
targetWidth: 0,
targetHeight: 0
);
我应该如何解决这个裁剪问题?
【问题讨论】:
【参考方案1】:来自文档
allowEdit 在 android 上是不可预测的,不应该使用它!这个插件的 Android 实现试图找到并使用一个 用户设备上的应用程序进行图像裁剪。该插件有 无法控制用户选择执行图像的应用程序 裁剪,用户很有可能选择一个 不兼容的选项并导致插件失败。这有时有效 因为大多数设备都带有处理裁剪的应用程序 一种与此插件(Google Plus Photos)兼容的方式,但它 依靠这种情况是不明智的。如果图像编辑是 对您的应用程序至关重要,请考虑寻找第三方库 或提供自己的图像编辑实用程序的插件 强大的解决方案。
所以,基本上不要使用它,因为它不能保证工作,因为它需要一个外部应用程序来进行裁剪,并不是所有的设备都会有它。
【讨论】:
我尝试使用 cordova-plugin-crop 裁剪图像,但仍然无法正常工作。你能帮我如何使用这个插件吗? 接受这个答案并创建一个关于 cordova-plugin-crop 的新答案,提供您正在使用的代码 完全不可预测的功能。有一次,我在使用 Cordova 应用程序时遇到问题,在 ios 上,文件上传和 allowedit 一切正常,但在 android 上,我在上传时收到了 CORS 错误。将 allowedit 设置为 false 并且 android 上的上传也开始工作。希望我节省了一些时间搜索;)以上是关于科尔多瓦相机插件allowEdit属性在少数手机中不起作用的主要内容,如果未能解决你的问题,请参考以下文章