2014-03-03 22 views
0

我試圖通過Phonegap 3.3文件傳輸插件將文件上傳到基本身份驗證保護的Windows服務器。實際上,我的應用程序和服務器之間的正常對話(每個Ajax)通過發送我的用戶憑證和每個Ajax調用完美地工作。cordova/phonegap 3.3:如何在fileUploadOptions中設置用戶憑據

var options = new FileUploadOptions(); 
    options.fileKey = "file"; 
    options.fileName = imageURI.substr(imageURI.lastIndexOf('/')+1); 
    options.mimeType = "image/jpeg"; 
    options.chunkedMode = false; 
    options.headers = { 
     'Authorization':authHeaderValue(db.getItem("user"), db.getItem("pass")) 
    }; 

authHeaderValue = function(username, password) { 
    var tok = username + ':' + password; 
    var hash = btoa(tok); 
    return "Basic " + hash; 
}; 

這是我試過至今(我發現它計算器線程),但它給我回了401不正當...

PLS。如果你知道某件事可以幫助我,請給我一個簡短的回覆。

最誠摯的問候大家,

英格瑪

+0

製作使用Fiddler的攔截Ajax請求得到NOE確切的語法用於發送憑證 –

回答

0

嗯,我做類似的,而不是「基本」我用JWT進行身份驗證,但東西。我會告訴你我使用的代碼:

options.headers = { 'Authorization': 'Bearer ' + app.session.getSess('token') }; 

而且我用的sessionStorage保存令牌,而它是有效的。 如果你想了解JSON Web Token

另一件事,記得要改頭在你的服務器,在我的情況是這樣的:

('Access-Control-Allow-Origin','*'); 
('Access-Control-Allow-Methods','GET,PUT,POST,DELETE,OPTIONS'); 
('Access-Control-Allow-Headers','Content-Type, Authorization, Content-Length, X-Requested-With'); 
相關問題