Come reindirizzare un download di file utilizzando Grails?
Domanda
Attualmente sto scrivendo un sito Web che consente alle persone di scaricare file Excel e di testo. C'è un modo per reindirizzare a una pagina diversa quando fanno clic, in modo da eseguire javascript e fare analisi (ovvero mantenere il conteggio dei download)? Al momento, nulla impedisce all'utente di fare semplicemente clic con il tasto destro e salvare.
Modifica:
Per essere più specifici, sarebbe utile fare un singolo o doppio clic sul collegamento di un file per reindirizzare a una pagina di download temporanea per analisi, quindi scaricare il file.
Soluzione
Ho iniziato a descrivere come potresti farlo in Grails, ma poi ho ricordato che la maggior parte dei servizi di analisi (Google, Omniture, ecc.) ti consentiranno di tenere traccia dei file scaricati utilizzando l'evento onclick. Se stai eseguendo un monitoraggio personalizzato basato su JavaScript, puoi fare la stessa cosa. Il clic verrà chiamato prima che inizi il download del documento. Ad esempio:
<a href="/path-to-download-file" onclick="record_download('filename')">myfile.txt</a>
Più specificamente per Google Analytics, ecco alcuni javascript per farlo automaticamente: http://www.goodwebpractices.com/downloads/gatag.js
Altri suggerimenti
Non sono sicuro di ciò che stai chiedendo qui, stai cercando di capire come reindirizzare nel controller o stai cercando di ignorare il comportamento del clic destro nel browser?
Per reindirizzare nel controller puoi fare qualcosa di simile a questo documentato qui .
redirect(controller:"book",action:"list")
Se stai provando a cambiare il comportamento dei pulsanti o dei collegamenti sul lato client e richiederà molto probabilmente Javascript.
Se chiarisci, potrei essere in grado di aiutare di più.