Then I would suggest find/writing a small Java ZipVerifier that will
do this verification for you.

I created a quick example of a verifier and it seems to do the job.

<!--- Start ZipVerifier.java --->
import java.util.zip.ZipFile;
import java.util.zip.ZipException;
import java.io.IOException;

public class ZipVerifier {

  public static String EXCEPTION_STR = "";

  public static boolean verifyZip(String filePath) {
    try {
      ZipFile zipFile = new ZipFile(filePath);
      return true;
    }
    catch( ZipException ze ) {
        EXCEPTION_STR = ze.getMessage();
    }
    catch( IOException ioe ) {
        EXCEPTION_STR = ioe.getMessage();
    }
    catch( SecurityException se ) {
        EXCEPTION_STR = se.getMessage();
    }
    return false;
  }

  public static void main(String[] args) {
    if( args.length > 0 ) {
      System.out.println( "Valid Zip file?: " +
ZipVerifier.verifyZip(args[0]) );
      System.out.println( EXCEPTION_STR );
    }
    else {
      System.out.println( "usage: java ZipVerifier <zipfile path>" );
    }
  }
}
<!--- End ZipVerifier.java --->



On 5/18/07, AJ Mercer <[EMAIL PROTECTED]> wrote:
> no, it is getting past that
>
> zipFile = createObject("java","java.util.zip.ZipFile");
> zipFile.init(zipFilePath);
> //Get Entry Objects for Entries in the ZIP File
> entryList = zipFile.entries();
>
> //Create List of File Names from the ZIP File
> while(entryList.hasMoreElements()) {
>     entry = entryList.nextElement();
> <======  dies here
>     if (not entry.isDirectory()) {
>         fileList = ListAppend(fileList,entry.getName());
>    }
>  }
>
> message = invalid LOC header (bad signature)
>
> This kills jRun so I can't catch it in ColdFusion
>
>
> On 5/18/07, Maximilian Nyman <[EMAIL PROTECTED]> wrote:
> >
> > <cftry>
> >     <cfset zipfile=CreateObject("java",
> > "java.util.zip.ZipFile").init(zipFileName) />
> > <cfcatch type="any">
> >     <cfdump var="#cfcatch#" />
> > </cfcatch>
> > </cftry>
> >
> > That should throw a ZipException (and dump it) if the Zip file is corrupt
> >
> > /Max
> >
> >
> > On 5/18/07, AJ Mercer <[EMAIL PROTECTED]> wrote:
> > > cffile does not crash when using cffile with read or readbinary
> > >
> > >
> > >
> > > On 5/17/07, Jake Churchill <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Can't you just read the file as a file object inside a try/catch and
> > if it
> > > > fails, the file is assumed to be corrupt
> > > >
> > > > _____
> > > >
> > > >
> > > >
> > > > Jake Churchill
> > > >
> > > > CF Webtools
> > > >
> > > > 11204 Davenport, Ste. 200b
> > > >
> > > > Omaha, NE  68154
> > > >
> > > > http://www.cfwebtools.com
> > > >
> > > > 402-408-3733 x103
> > > >
> > > > -----Original Message-----
> > > > From: AJ Mercer [mailto:[EMAIL PROTECTED]
> > > > Sent: Thursday, May 17, 2007 1:32 AM
> > > > To: CF-Talk
> > > > Subject: java unzip :: verify file
> > > >
> > > > Hi,
> > > >
> > > > I have a cf script that is using java.util.zip.ZipFile to unzip -
> > works
> > > > great, except when...
> > > >
> > > > If the zip if corrupt it kills jRun.
> > > >
> > > > Does any one know if there is a way to verify / check the zip file to
> > > > ensure
> > > > it is not corrupt?
> > > >
> > > >
> > > > Because it is dieing at the jRun level, I can not use cfcatch.
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Macromedia ColdFusion MX7
Upgrade to MX7 & experience time-saving features, more productivity.
http://www.adobe.com/products/coldfusion?sdid=RVJW

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:278548
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to