Estoy intentando cargar un archivo desde PhoneGap a un servidor usando el FileTransfer method. Necesito autorización básica HTTP para habilitar esta carga.PhoneGap FileTransfer con autenticación básica HTTP
Aquí está el código correspondiente:
var options = new FileUploadOptions({
fileKey: "file",
params: {
id: my_id,
headers: { 'Authorization': _make_authstr() }
}
});
var ft = new FileTransfer();
ft.upload(image, 'http://locahost:8000/api/upload', success, error, options);
Looking over the PhoneGap source code parece que puedo especificar la cabecera de autorización mediante la inclusión de "headers" en la lista de "params" como lo he hecho anteriormente:
JSONObject headers = params.getJSONObject("headers");
for (Iterator iter = headers.keys(); iter.hasNext();)
{
String headerKey = iter.next().toString();
conn.setRequestProperty(headerKey, headers.getString(headerKey));
}
Sin embargo, esto no parece realmente agregar el encabezado.
Entonces, ¿hay alguna manera de hacer autenticación básica de HTTP con FileTransfer de PhoneGap, tanto para iPhone como para Android?
Para cualquiera que se pregunte, este método mencionado anteriormente funciona para mí. Solo necesita agregar esto: 'params.headers = {Authorization: 'Basic' + creds}; options.params = params; ' – gabaum10
encabezados deben ir a options.headers no agregados a options.params .____ – Adam