Grails 从 smb 下载文件
Grails download file from smb
如何提供远程文件的下载?
可以通过 SMB (jcifs) 访问该文件。我可以读取文件的属性。但是如何将它发送到用户浏览器?
这不起作用:
render(contentType: 'application/zip',file: new File(FullPath), fileName: domainInstance.getFilename())
完整路径如 smb://user:pass@server.domain.com/root/Files/Dowanload.zip
正在通过作品访问文件:
SmbFile smbFile = new SmbFile(FullPath ))
在你的控制器中尝试这样的事情:
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 中运行良好!
如何提供远程文件的下载? 可以通过 SMB (jcifs) 访问该文件。我可以读取文件的属性。但是如何将它发送到用户浏览器?
这不起作用:
render(contentType: 'application/zip',file: new File(FullPath), fileName: domainInstance.getFilename())
完整路径如 smb://user:pass@server.domain.com/root/Files/Dowanload.zip
正在通过作品访问文件:
SmbFile smbFile = new SmbFile(FullPath ))
在你的控制器中尝试这样的事情:
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 中运行良好!