Phonegap FileTransfer上传返回空

时间:2013-11-14 20:34:47

标签: android cordova

我一直试图解决这个问题几天了。教程和文档都说同样的事情。

我想上传用户使用相机拍摄的照片。但是,它不断触及错误函数,并说代码,源和目标为空。我的服务器永远不会被击中,似乎没有任何关于它。这是我的代码。

$(function() {

$('#camera').click(function() {
    navigator.camera.getPicture(upload, function() {
        alert('error');
    },
    {
        quality: 50, 
        destinationType: navigator.camera.DestinationType.FILE_URI,
        sourceType: navigator.camera.PictureSourceType.CAMERA
    }); 
});

var upload = function(image) {

    console.log(image);

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

    console.log(image.substr(image.lastIndexOf('/')+1));

    options.chunkedMode = true;

    var ft = new FileTransfer();
    ft.upload(image, encodeURI("http://mysite/upload.php"), win, fail, options);

};

function win(r) {
    console.log("Code = " + r.responseCode);
    console.log("Response = " + r.response);
    console.log("Sent = " + r.bytesSent);
}

function fail(error) {
    alert("An error has occurred: Code = " + error.code);
    console.log("upload error source " + error.source);
    console.log("upload error target " + error.target);
}

});

config.xml中

<access origin="*" />

1 个答案:

答案 0 :(得分:0)

您是否有机会使用Telerik平台?如果是这样,那就是原因。此平台目前在某些方面受到限制,不支持文件和文件传输API。这是模拟器的限制列表。这就是FileTransfer返回null而不是错误代码的原因。

http://docs.telerik.com/platform/appbuilder/testing-your-app/running-apps-in-simulator/limitations-device-simulator