Index: lams_common/src/java/org/lamsfoundation/lams/util/zipfile/ZipFileUtil.java =================================================================== diff -u -rf14fcc3773792015b0c5a1a793cf5c13682eadee -r0536cf3e96bcf86b857004e6110e2e180c21b674 --- lams_common/src/java/org/lamsfoundation/lams/util/zipfile/ZipFileUtil.java (.../ZipFileUtil.java) (revision f14fcc3773792015b0c5a1a793cf5c13682eadee) +++ lams_common/src/java/org/lamsfoundation/lams/util/zipfile/ZipFileUtil.java (.../ZipFileUtil.java) (revision 0536cf3e96bcf86b857004e6110e2e180c21b674) @@ -136,11 +136,15 @@ if( !entry.isDirectory() ) { entryName = entry.getName(); + String destName = tempDirName + File.separator + entryName; + //It must sort out the directory information to current OS. + //e.g, if zip file is zipped under windows, but unzip in linux. + destName = FileUtil.makeCanonicalPath(destName); prepareDirectory(destName); - FileOutputStream fos = new FileOutputStream( FileUtil.getFileName(destName) ); + FileOutputStream fos = new FileOutputStream( destName ); dest = new BufferedOutputStream( fos, BUFFER_SIZE ); while( (count = zis.read( data, 0, BUFFER_SIZE ) ) != -1 ) { @@ -175,9 +179,7 @@ * @param destName */ private static void prepareDirectory(String destName) { - //It must sort out the directory information to current OS. - //e.g, if zip file is zipped under windows, but unzip in linux. - destName = FileUtil.makeCanonicalPath(destName); + File destNameFile = new File(destName); String path = destNameFile.getParent(); if(path != null){