Скачать файл Grails с smb

Как я могу обеспечить загрузку удаленного файла? Доступ к файлу можно получить через SMB (jcifs). Я могу прочитать свойства файлов. Но как отправить его в браузер пользователей?

Это не работает:

render(contentType: 'application/zip',file: new File(FullPath), fileName: domainInstance.getFilename())

Где полный путь выглядит так: smb://user:[email protected]/root/Files/Dowanload.zip

Доступ к файлу через работы:

SmbFile smbFile = new SmbFile(FullPath ))

person BioBier    schedule 24.03.2015    source источник


Ответы (1)


Попробуйте что-то подобное в своем контроллере:

                SmbFile smbFile = new SmbFile(FullPath )//,auth);

                if (smbFile.exists()) {
                   response.setContentType("application/octet-stream")
                   response.setHeader("Content-disposition", "filename=${domainInstance.getFilename()}")
                   response.setContentLength(Long.valueOf(smbFile.length()).intValue())
                   response.outputStream << smbFile.getInputStream()    
                   response.outputStream.flush()
                   return       
}

Он отлично работает в последней версии Grails 2.4.4!

person BioBier    schedule 24.03.2015