1

我正在研究 phonegap 并编写了以下代码来显示图像上传文件的预览:

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            var img ='<div style="padding:10px; margin:10px;  border: solid 2px #666;float: left; width:30%"><img src="'+ e.target.result+'" width="100%" /></div>';
            $('#images_area').append(img);
        }

        reader.readAsDataURL(input.files[0]);
    }
}


    $("#image_upload_field").change(function(){
    readURL(this);
});

这适用于浏览器,但未在 android 手机上显示图像 phonegap。所以我正在寻找原因,为什么会发生,它在手机上显示问号。

也这样做了:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git

这两行来自 phonegap 的用户指南。并且在执行以上 2 行之后,也完成了 android 配置和清单文件的更改。

那么它不起作用的原因是什么?如果有任何想法,请告诉我。

4

1 回答 1

1

尝试这个:

$(document).ready(function () {
            function readURL(input) {
                if (input.files && input.files[0]) {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        var image;
                        var fileName = input.files[0].name;
                        var type = 'image/' + fileName.split('.').pop();
                        if (type == 'image/jpg') {
                            type = 'image/jpeg';
                            image = ((e.target.result).replace('data:base64,/', 'data:' + type + ';base64,/'));
                        } else {
                            image = ((e.target.result).replace('data:base64,', 'data:' + type + ';base64,'));
                        }
                        var img = '<div style="padding:10px; margin:10px;  border: solid 2px #666;float: left; width:30%"><img src="' + image + '" width="100%" /></div>';
                        $('#images_area').append(img);
                    }
                    reader.readAsDataURL(input.files[0]);
                }
            }

            $("#image_upload_field").change(function () {
                readURL(this);
                });
})
于 2013-10-15T12:06:54.870 回答