Appgyver / Cordova:无法显示拍摄的图像

时间:2015-01-24 11:39:26

标签: javascript android cordova cordova-plugins steroids

我能够成功地从照片库和相机中获取图像,并能够使用FileTransfer plugin将它们发送到服务器,以便保存它们。但唯一不起作用的代码是显示图像:(当我提醒 ImageURI 时,它给出了以下路径:

file://storage/sdcard0/Android/data/com.apgyver.freshandroid/cache/.Pic.jpg

我不确定我是否遗漏了任何插件或某些代码?

function getImage() {
    // Retrieve image file location from specified source
    navigator.camera.getPicture(uploadPhoto, function(message) {
    alert('get picture failed');
},{
    quality: 50, 
    destinationType: navigator.camera.DestinationType.FILE_URI,
    sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
}
    );

}

function uploadPhoto(imageURI) {

    //alert(imageURI); return false;
    var image = document.getElementById('myImage');
    image.src = imageURI;

    var options = new FileUploadOptions();
    options.fileKey="file";
    options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
    options.mimeType="image/jpeg";

    var params = new Object();
    params.value1 = "test";
    params.value2 = "param";

    options.params = params;
    options.chunkedMode = false;

    var ft = new FileTransfer();
    ft.upload(imageURI, url, win, fail, options);
}

确实将路径分配给src,但无法显示图像。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您必须错过 img 元素,其中 myImage width height 设置为某个值这样它就是可见的,并被赋予display: block。您的代码严格遵循Camera插件使用示例中的代码,因为它正确地连接到服务器,您应该拥有所有插件和放大器。需要权限。