Ich habe eine Spring REST-Anwendung, einer der Endpunkte ist ein Download-Link, wo die heruntergeladene Datei im laufenden Betrieb generiert wird.Spring REST-Datei Download vom Server
Es funktioniert alles außer der Dateiname ist falsch.
Hier ist die relevanten Teile der Steuerung:
@RestController
@RequestMapping("/export")
public class ExportREST {
@RequestMapping(method=RequestMethod.GET)
public void export(HttpServletResponse response) throws Exception {
//stuff omitted...
writeCsvResponse(response);
}
private void writeCsvResponse(HttpServletResponse response) throws IOException {
String fileName = "db.export."+dateFormat.format(new Date());
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition:", "attachment;filename=" + "\"" + fileName + "\"");
//write stuff to response...
response.setContentLength(totalLength);
response.setBufferSize(1024);
response.flushBuffer();
pout.close();
}
}
Also, was ich will, ist ein Dateiname mit einem generierten Zeitstempel, sondern tatsächlich der Dateiname ist immer export
, vermutlich ist es es aus der URL zu bekommen.
Habe ich etwas verpasst?
Sie ohne Doppelpunkt versucht haben, nach Content-Disposition? – rpozarickij
Funktioniert jetzt, danke. Fügen Sie die Antwort hinzu, wenn Sie möchten, und ich akzeptiere. Sollte das entdeckt haben. Einfach kopiert und eingefügt, ohne wirklich darüber nachzudenken D'oh. – NickJ