Как загрузить файл с помощью Play Framework 2.0
Я использую Play Framework 2.0.3 для создания приложения, которое поставляет файлы Excel, которые должны быть загружены пользователем.
response().setContentType("application/x-download");
response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx");
но как получить выходной поток от response()
? tks
Ответы
Ответ 1
Действие воспроизведения может вернуть файл:
response().setContentType("application/x-download");
response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx");
return ok(new File("/absolute/path/to/tradeLogTest.xlsx"));
Здесь API для результатов
Ответ 2
Предоставление опции загрузки для статических файлов может быть выполнено в Play как:
Ok.sendFile(new File("path to file/abc.csv"), inline=true).withHeaders(CACHE_CONTROL->"max-age=3600",CONTENT_DISPOSITION->"attachment; filename=abc.csv", CONTENT_TYPE->"application/x-download");
Существуют и другие параметры, которые также доступны
Для Internet Explorer - убедитесь, что вы устанавливаете Content Disposition
Ответ 3
Служебные файлы
Если это не проблема загрузки всего содержимого в память для простого контента, что же такое большой набор данных? Допустим, мы хотим отправить большой файл веб-клиенту.
читайте больше на: http://www.playframework.com/documentation/2.0.x/JavaStream