vorrei fornire un'operazione di download di file utilizzando la chiamata jQuery AJAX con alcuni params sotto MVCCome implementare scaricare file con AJAX e MVC
esempio
(javascript)
function DoDownload(startDate) {
$.ajax({
url:"controller/GetFile/",
data: {startDate:startDate}
...
});
}
C# Controller Code
public void GetFile(string startDate) {
var results = doQuearyWith(startDate);
// Create file based on results
....
// HOw do I tell the server to make this a file download??
}
Io di solito vorrei solo fare il mio scarica il documento di un collegamento come ad esempio:
<a h r e f="mycontroller/getfile/1"/>Download</a>
ma nel caso precedente la data sarà dinamico.
Se non uso ajax, quale sarebbe il modo preferito per passare i parametri al controller MVC utilizzando javascript?
esempio:
window.location = "mycontroller/GetFile/" + $("#fromDate").val();
assumendo la data è 2012/12/25 sarebbe questo produrre
mycontroller/GetFile/12/25/2012
sarebbe MVC trattare questo come tre params?
La risposta alla tua domanda può essere trovata al link [this] [1]. [1]: http://stackoverflow.com/questions/5826649/returning-a-file-to-view-download-in-mvc/5830215#5830215 –
A meno che non avete bisogno di un URL "hackable" , Non sono sicuro che tu abbia bisogno di farlo in questo modo. Basta passare la data come parametro a un metodo controller e quindi utilizzare l'implementazione FileResult suggerita. Potresti renderlo più difficile di quanto dovrebbe essere? –