如何从grails中的url下载图像

如何从grails中的url下载图像,grails,groovy,Grails,Groovy,有谁能帮我从grails中的url下载图像吗。目前我正在使用以下代码,但它保存在应用程序的当前文件夹中。我想下载特定于浏览器的文件夹(如我们从web或saveAS下载某些文件的默认文件夹) def imageDownload(){ //imageURL=”http://www.google.com/images/logo.png" 字符串fullPath=params.imageURL 字符串baseName=FilenameUtils.getBaseName(完整路径); 字符串扩展名=Fil

有谁能帮我从grails中的url下载图像吗。目前我正在使用以下代码,但它保存在应用程序的当前文件夹中。我想下载特定于浏览器的文件夹(如我们从web或saveAS下载某些文件的默认文件夹)

def imageDownload(){
//imageURL=”http://www.google.com/images/logo.png"
字符串fullPath=params.imageURL
字符串baseName=FilenameUtils.getBaseName(完整路径);
字符串扩展名=FilenameUtils.getExtension(完整路径);
def fileName=baseName+“+”扩展名
def fileDoc=新文件(完整路径);
def webUtils=webUtils.retrieveGrailsWebRequest()
def response=webUtils.getCurrentResponse()
response.setContentType(“应用程序/png”)
response.setHeader“内容处置”,“附件;文件名=\”${filename}\”;
def file=new FileOutputStream(fullPath.tokenize(“/”[-1])
def out=新的BufferedOutputStream(文件)
出来
这就是我正在使用的全部..它已成功下载..

def downloadImage={
def downloadImage = {
    def fileURL = "http://www.google.com/images/logo.gif"
    def thisUrl = new URL(fileURL);
    def connection = thisUrl.openConnection();
    def dataStream = connection.inputStream

    response.setContentType("application/octet-stream")
    response.setHeader('Content-disposition', 'Attachment; filename=logo.gif')
    response.outputStream << dataStream
    response.outputStream.flush()
}
def文件URL=”http://www.google.com/images/logo.gif" def thisUrl=新URL(fileURL); def connection=thisUrl.openConnection(); def dataStream=connection.inputStream response.setContentType(“应用程序/八位字节流”) response.setHeader('Content-disposition','Attachment;filename=logo.gif')
response.outputStream您可以通过一些groovy技巧轻松完成这一任务:

URL urlCont = new URL(imageURL);
InputStream inStream = new BufferedInputStream(urlCont.openStream());
byte[] bytes = IOUtils.toByteArray(inStream);

可能重复感谢你的答复。我必须成功地从url下载一个图像。再次感谢你。没问题-很高兴你设法让它工作。你应该得到50个UPs,我会选择你的答案!
def downloadImage = {
    def fileURL = "http://www.google.com/images/logo.gif"
    def thisUrl = new URL(fileURL);
    def connection = thisUrl.openConnection();
    def dataStream = connection.inputStream

    response.setContentType("application/octet-stream")
    response.setHeader('Content-disposition', 'Attachment; filename=logo.gif')
    response.outputStream << dataStream
    response.outputStream.flush()
}
URL urlCont = new URL(imageURL);
InputStream inStream = new BufferedInputStream(urlCont.openStream());
byte[] bytes = IOUtils.toByteArray(inStream);