Javascript Phonegap-iOS文件传输不使用授权标头

Javascript Phonegap-iOS文件传输不使用授权标头,javascript,ios,cordova,jquery-mobile,Javascript,Ios,Cordova,Jquery Mobile,我正在尝试将从相机捕获的图像上载到服务器。下面的方法适用于任何Android设备,但由于某些原因,它在iOS上失败了。它返回了一个401错误,这毫无意义: var options = new FileUploadOptions(); options.fileKey="files[]"; options.fileName = 'image_' + obj.id + '.jpg'; options.mimeType="image/jpeg"; options.chun

我正在尝试将从相机捕获的图像上载到服务器。下面的方法适用于任何Android设备,但由于某些原因,它在iOS上失败了。它返回了一个401错误,这毫无意义:

var options = new FileUploadOptions();
    options.fileKey="files[]";
    options.fileName = 'image_' + obj.id + '.jpg';
    options.mimeType="image/jpeg";
    options.chunkedMode = false;

    var params = new Object();
    params.headers = {
        Authorization: 'Basic ' + loginCreds
    }

    options.params = params;
    var ft = new FileTransfer();
    ft.upload(imageURI, CONTEXT+'URL/files", 
        function(r){
            alert('Finished upload!');
            $.mobile.loading( 'hide' );  
        }, 
        function(error){
            console.log(error.http_status);
            alert('Error uploading image: ' +error.http_status+ ' and code - ' +error.code); 
            $.mobile.loading( 'hide' );  
        }, 
        options, true);
我知道在iOS中有一个设置标题的问题,但我认为这在Phonegap 1.9.0中已经解决了。我做错什么了吗


我检查了服务器日志,似乎授权头只是没有在iOS中设置。奇怪…

经过一整天的努力,终于想出了这个办法。因此,Android和iOS在如何使用headers参数上存在差异

安卓:

var params = new Object();
params.headers = {Authorization: 'Basic ' + loginCreds};
options.params = params;

iOS:


希望这能帮别人省去一些头疼的事……

所以在与它搏斗了一整天之后,我终于想出了这个办法。因此,Android和iOS在如何使用headers参数上存在差异

安卓:

var params = new Object();
params.headers = {Authorization: 'Basic ' + loginCreds};
options.params = params;

iOS:


希望这能帮别人省去一些麻烦…

你帮我避免了头撞到墙上。非常感谢。它省去了很多头痛,省去了我很多时间,你省去了我头撞墙的麻烦。非常感谢。它省去了很多头痛,省去了我很多时间
options.headers = {Authorization: 'Basic ' + loginCreds};