在Android上,Phonegap文件上传失败,错误1(找不到文件)

时间:2013-10-19 22:54:26

标签: javascript android cordova

我的应用程序包含以下上传javascript:

function take_image() {
    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(localURI) {
    window.resolveLocalFileSystemURI(localURI, function(fileEntry) {
        myURI=fileEntry.fullPath;

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

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

        var ft = new FileTransfer();
        ft.upload(myURI, "http://www.mydomain.co.uk/uploadimage.php", win, fail, options);

        alert(myURI + " uploading");
    }, resolveFail);  
}

这位于那里大约5分钟,并且在ft.upload调用中失败并显示错误代码1(找不到文件)。

我已经使用resolveLocalFileSystemURI来绕过你从navigator.camera.getPicture获得的奇怪路径,有时候,我认为这是最初的问题。要上传的文件路径看起来不错,但是在真的好长期考虑之后找不到文件。

用这个尝试了一切,演示代码根本不起作用。这可能是权限问题吗?

1 个答案:

答案 0 :(得分:0)

排在最后,我在连接到我的wifi网络的平板电脑上测试了这个。当使用移动数据连接在手机上进行测试时,它可以很好地工作,当平板电脑连接到手机时同样如此。

不知道为什么它给出了错误1(找不到文件)而不是错误3(连接错误),或者确实为什么它不能使用我的wifi连接来发送数据。

许多代码示例使用上面的代码而没有resolveLocalFileSystemURI元素,如果你不断收到错误,请尝试上述内容。