2013-02-26 74 views
0

任何人都可以幫助我如何在Grails中解壓縮文件夾?如何在Grails中解壓縮上傳的文件夾?

現在我可以將上傳的文件複製到我的web-app CSS文件夾中。

def uploadedFile = request.getFile('payload') 
    if(!uploadedFile.empty){ 
    /* println "Class: ${uploadedFile.class}" 
     println "Name: ${uploadedFile.name}" 
     println "OriginalFileName: ${uploadedFile.originalFilename}" 
     println "Size: ${uploadedFile.size}" 
     println "ContentType: ${uploadedFile.contentType}"*/ 
     def webRootDir = servletContext.getRealPath("/") 
     def userDir = new File(webRootDir, "/css") 
     userDir.mkdirs() 
     uploadedFile.transferTo(new File(userDir, uploadedFile.originalFilename)) 
     render("Successfully copied to web-app folder") 
    } 
    else { 
     render(view:'config') 
    } 

但現在我需要上傳一個zip文件,並從那裏我需要的文件或圖像解壓縮到CSS的web應用程序文件夾中。

回答

2

使用commons-compress可能是最簡單的方法。查看this討論的最小示例:

org.apache.ant.compress.taskdefs.Unzip u = new Unzip(); 
u.setSrc(new File("<archive.zip>"); 
u.setDest(new File("<targetDir>"); 
u.execute();