Télécharger le lien d'ancrage avec l'en-tête d'autorisation
J'ai un lien que j'aimerais ajouter à mon javascript (Marionnette/Backbone single page application qui va télécharger un fichier Excel pour le lecteur local de l'utilisateur via le navigateur d'enregistrer le fichier. Typique de la requête HTTP seraient:
GET /api/v1/objects/?format=xls HTTP/1.1
Authorization: ApiKey username:apikey
Host: api.example.com
Connection: close
User-Agent: Paw 2.0.5 (Macintosh; Mac OS X 10.9.2; en_US)
Content-Length: 0
Qui résultats dans la suite de réponse typique:
HTTP/1.1 200 OK
Server: gunicorn/18.0
Date: Tue, 06 May 2014 03:09:02 GMT
Connection: close
Transfer-Encoding: chunked
Vary: Accept
Content-Type: application/vnd.ms-excel
Content-Disposition: attachment; filename="filename.xls"
Cache-Control: no-cache
<<CONTENT HERE>>>
J'aimerais le faire avec un simple élément ancre de style comme un bouton comme ceci permettrait d'invoquer le navigateur de fichier de stockage des machines. Quelque chose de similaire à:
<a href="/api/v1/objects/?format=xls" class="btn btn-primary pull-right">Download to Excel file</a>
Je ne suis pas clair sur la façon dont je obtenir l'autorisation d'en-tête pour être transmis lors de cette opération via un lien vers une ancre, ou peut-être je suis juste de ne pas penser et il ya une meilleure façon.
Mon backend est un Django web app à l'aide de Tastypie.
source d'informationauteur Erik | 2014-05-06
Vous devez vous connecter pour publier un commentaire.
Ce pas possible, parce que la seule façon d'ajouter des en-têtes HTTP utilise le XHRmais XHR ne peut pas être utilisé pour télécharger des fichiers.
Vous pouvez, toutefois, utiliser des cookies pour le faire.