скачать файл grails - PullRequest
8 голосов
/ 24 мая 2011

Мне удалось создать систему загрузки файлов, которая в основном копирует файлы в определенную папку и сохраняет в базе данных ее местоположение.Теперь мне нужна помощь с загрузкой.Представьте, что мое местоположение файла: Files / 1306242602661_file1.exe , и, на мой взгляд, у меня есть это:

<g:link controller="fileManager" action="downloadFile">
     Download</g:link><br>

Мне нужна помощь с контроллером downloadFile.Не могли бы вы дать мне подсказку о том, как это сделать, учитывая, что мое имя файла представляет собой строку:

String fileName = "Files / 1306242602661_file1.exe"

Ответы [ 2 ]

16 голосов
/ 24 мая 2011

Внутри вашего контроллера создайте действие загрузки со следующим содержанием:

def file = new File("path/to/file")

if (file.exists()) {
   response.setContentType("application/octet-stream")
   response.setHeader("Content-disposition", "filename=${file.name}")
   response.outputStream << file.bytes
   return
}
// else for err message
6 голосов
/ 16 июля 2014

Вы можете сделать файл.см http://grails.org/doc/2.4.x/ref/Controllers/render.html

render file: new File ("path/to/file.pdf"), fileName: 'myPdfFile.pdf'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...