Phonegap Filetransfer API在SGS SII中不起作用

时间:2011-10-01 07:31:30

标签: android cordova

我是phonegap的新手,我只是尝试通过phonegap 1.0 Filetransfer API将文件传输到我的服务器,并在Android模拟器Android 2.3.3(API级别10)上工作但不适用于真实设备(三星galaxy) sII)吼我的代码:

document.addEventListener("deviceready",onDeviceReady,false);

function onDeviceReady() {
    pictureSource=navigator.camera.PictureSourceType;
    destinationType=navigator.camera.DestinationType;
}


function capturePhoto() {
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { 
       quality: 30, destinationType: destinationType.FILE_URI 
    });
}

function onPhotoURISuccess(imageURI) {
    $(".loading").show()
    var doit = $('a#sendkamera').attr('rel');
    var smallImage = document.getElementById('smallImage');
    smallImage.style.display = 'block';
    smallImage.src = imageURI;

    var options = new FileUploadOptions();
    options.fileKey="file";
//options.fileName="newfile.txt";
    options.mimeType="image/jpeg";

    var params = new Object();
    params.value1 = "test";
    params.value2 = "param"; 
    options.params = params;
    var ft = new FileTransfer();
    ft.upload(imageURI, "http://api.byur.in/android/upload/", win, fail, options);
}

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

function fail(error) {
    alert("An error has occurred: Code = " = error.code);
}

我不明白,为什么这段代码可以成功使用警报状态代码= -1,但是当我查看日志服务器时,我没有看到请求。

我尝试通过ajax上传文件并在模拟器上工作,但不使用真实设备,错误消息状态代码= 0.低于我的代码

function capturePhoto() {
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 30 });
}

function errorCallback(xhr, textStatus, errorThrown) {
    navigator.notification.beep(3);
    alert(textStatus + errorThrown + ' coba lagi di waktu mendatang');
    alert(xhr.responseText);    
}


function successIMG(imageData) {
    var doit = $('a#sendkamera').attr('rel');
    $('.loading').show(); 
    var data = {image: imageData};
    var url = 'http://api.byur.in'+doit;
    $.ajax({url:url, type:'POST', data:data, success:function(data){
        $('.loading').hide(); alert('sukses'); },error: errorCallback });
}

我不确定我哪里出错了。我该怎么做才能解决这个问题?

感谢您的回复

0 个答案:

没有答案