У меня были некоторые проблемы с прямой загрузкой файлов с помощью -tag.
Чтобы преодолеть это, я использую метод контроллера, чтобы вернуть файл и поместить загружаемые файлы в их собственную папку в web-app /:
class MyController {
@Autowired()
AssetResourceLocator assetResourceLocator
def downloadExcelTemplate () {
String fileName = "MyExcelFile.xlsx"
/* Note: these files are found in /web-app/downloadable directory */
Resource resource = assetResourceLocator.findResourceForURI("/downloadable/$fileName")
response.setHeader "Content-disposition", "attachment; filename=${resource.filename}"
response.contentType = 'application/vnd.ms-excel'
response.outputStream << resource.inputStream.bytes
}
}
И просто используйте обычный a-tag для ссылки на этот метод контроллера.Таким образом, вы также получаете больший контроль над загрузкой файлов.