如何在Grails中解压缩上传的文件夹?

时间:2013-02-26 09:03:40

标签: grails unzip

有人可以帮我解决如何在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-app文件夹中。

1 个答案:

答案 0 :(得分: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();