无法从Android 4.4中的图库上载图像

无法从Android 4.4中的图库上载图像,android,cordova,android-4.4-kitkat,Android,Cordova,Android 4.4 Kitkat,我正在尝试上传图片,这些图片是从画廊获得的,代码如下 //imageUri is a uri which is gotten by Phonegap camera API //(use option Camera.PictureSourceType.PHOTOLIBRARY&&Camera.DestinationType.FILE_URI) var imageUri = getImageUri(); //handlerUri is a uri to upload the i

我正在尝试上传图片,这些图片是从画廊获得的,代码如下

//imageUri is a uri which is gotten by Phonegap camera API 
//(use option Camera.PictureSourceType.PHOTOLIBRARY&&Camera.DestinationType.FILE_URI) 
var imageUri = getImageUri();

//handlerUri is a uri to upload the image 
var handlerUri = getHandlerUri();

window.resolveLocalFileSystemURI(imageUri, function(fileEntry) {
    fileEntry.file(function(fileObj) {
        var fileName = fileEntry.name;
        var options = new FileUploadOptions();
        options.headers = {
            Connection: "close"
        };
        options.fileKey = "uploadfiles";
        if (fileName.indexOf('/') > -1) {
            options.fileName = fileName.substr(fileName.lastIndexOf('/') + 1);
        } else {
            options.fileName = fileName;
        }

        options.mimeType = "image/jpeg";
        options.chunkedMode = false;
        options.params = params;

        var ft = new FileTransfer();
        imageUri = fileEntry.nativeURL;

        ft.upload(imageUri, handlerUri,
            function(r) {
                if (r.response == "success") {

                } else {

                }
            },
            function(error) {},
            options, true);
    }, function(error) {

    });
}, function(error) {

});
对于Android 4.4以下的设备,该应用程序运行良好。然而,在Android 4.4 KitKat中,相同的代码不再有效

注意:经过长时间上传后,我在LogCat中只收到了一个代码3错误。有人说代码3是一个连接错误,但这不应该是我的情况,因为相同的代码在Android 4.4下工作得很好

有人能帮忙吗


谢谢。

我终于自己解决了。似乎根目录的文件名是错误的。 当我用旧代码得到文件名时

var fileName = fileEntry.name;
文件名为7962,不正确

我使用以下代码来解决此问题:

var fileName = fileEntry.nativeURL.substr(fileEntry.nativeURL.lastIndexOf('/') + 1);

谢谢大家。

你能缩进/格式化/整理你的代码吗?LogCat?代码3中显示的任何错误都是连接错误,不管它是否在其他android版本中工作。当捕捉到IOException时调用CONNECTION_ERR,因此服务器不会返回200。它可能是文件传输插件上的一个bug,填补cordova JIRA上的一个问题。@jcesarmobile有没有在本机插件中查找根目录的建议?我已经创建了一个原生Android项目,我想我可以修复这个bug。不知道如何修复,但你可以登录conn.getResponseCode();在FileTransfer.java上查看服务器的响应代码,这可能会帮助您定位problem@jcesarmobile谢谢,我会尝试一下,稍后再来。非常感谢你,杰克,它在安卓4.4中为我工作