我正在尝试通过Phonegap 3.3文件传输插件将文件上传到通过基本身份验证保护的Windows服务器。实际上,我的应用程序和服务器之间的正常对话(每个ajax)通过在每次ajax调用时发送我的用户凭据来完美地工作。
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;
};
这是我到目前为止所尝试的(我在stackoverflow线程上找到它)但是它给了我一个401未经授权的...
PLS。如果你知道可以帮助我的东西,请给我一个简短的回复。
向大家致以最诚挚的问候,
英格玛
答案 0 :(得分:0)
嗯,我做了类似的事情,但我使用JWT代替“Basic”进行身份验证。我会告诉你我使用的代码:
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');