画廊中的 Phonegap 图像选择器无法正常工作

Posted

技术标签:

【中文标题】画廊中的 Phonegap 图像选择器无法正常工作【英文标题】:Phonegap image picker from gallery not working properly 【发布时间】:2017-05-13 16:21:28 【问题描述】:

我想使用图库中的照片,然后对其进行裁剪。我正在使用this 插件。它绝对没有文档,所以我需要一些帮助。单击按钮时,我想打开图库并选择图像,然后也将其裁剪。我在myapp.js中做了一个函数

function uploadImage()
    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
        
    );

我在点击按钮时调用它。

<a href="#" onClick="uploadImage();">Upload</a>

但是我的应用崩溃了。

很遗憾,应用程序已停止工作。

我该怎么办?

【问题讨论】:

尝试将try - catch 块添加到您的代码中并检查您是否收到任何错误。还要先设置警报以检查功能是否正常工作。 【参考方案1】:

您可以使用 phonegap 默认相机插件来获取图像并裁剪它。代码在下面,您可以从其官方网站上的 phongegap 文档中轻松获得。

function uploadImage()
    navigator.camera.getPicture(onSuccess, onFail,  quality: 50,
                sourceType: Camera.PictureSourceType.PHOTOLIBRARY, 
                allowEdit: true,
                destinationType: Camera.DestinationType.FILE_URI
                );

function onSuccess(imageURI)
                 var image = document.getElementById('smallimage');
                 image.src = "data:image/jpeg;base64," +imageURI;
            

            function onFail(message)
            

allowEdit 选项将提供裁剪选项,您甚至可以通过以下选项提供固定的裁剪宽度和高度。

     targetWidth: 400,targetHeight: 250,

【讨论】:

以上是关于画廊中的 Phonegap 图像选择器无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

从android中的画廊和相机中捕获图像

如何将 iPhone 画廊中的图像添加到数组 IOS

当我尝试调用 Google Place Markers 时,图像选择器无法正常工作

来自画廊工作的文件选择器,但它不适用于 android webview 中的相机

在android中使用phonegap时,从画廊拍摄的图像以不同的方向显示

无法替换图像视图,用于来自相机或画廊的图像(它不起作用)