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