Date: 2005-03-10T22:52:56 Editor: DakotaJack Wiki: Apache Struts Wiki Page: StrutsUpload URL: http://wiki.apache.org/struts/StrutsUpload
no comment Change Log: ------------------------------------------------------------------------------ @@ -739,7 +739,7 @@ private int storeType = 0; private List storeMemory = Collections.synchronizedList(new LinkedList()); - private int maxFileNumber = -1; + private int maxFileNumber = UploadConstant.MAX_FILE_NUMBER; private long maxFileSize = 0x100000000L; private boolean overwrite = true; @@ -950,25 +950,6 @@ } } - private boolean checkIncludedExts(String fileName) { - boolean included = false; - Iterator iter = includedExts.iterator(); - int i = fileName.lastIndexOf("."); - String extFile = null; - if(i != -1) { - extFile = fileName.substring(i + 1, fileName.length()); - while(iter.hasNext()) { - String ext = (String)iter.next(); - if(ext.equalsIgnoreCase(extFile)) { - return included = true; - } - } - } else { - return included = true; - } - return included = false; - } - private void folder(MultipartFile uploadFile) throws UploadException, IOException { @@ -991,8 +972,10 @@ } } - if(maxFileNumber == -1 || numberOfFiles < maxFileNumber) { - if(extBarred(uploadFile.getName())) { + if(maxFileNumber == UploadConstant.MAX_FILE_NUMBER || numberOfFiles < maxFileNumber) { + boolean barred = extBarred(uploadFile.getName()); + if(barred) { + barred = false; UploadParams uploadParams = new UploadParams(uploadFile.getName(),"upload.failure", uploadFile.getSize(), uploadFile.getContentType(), "directory", null, null); uploadFile.getInputStream().close(); history.add(uploadParams); @@ -1039,13 +1022,17 @@ if(uploadFile.getSize() > maxFileSize) { throw new UploadException(UploadConstant.UPLOAD_FILE_SIZE_LIMIT_REACHED + " " + uploadFile.getName()); } - - if(extBarred(uploadFile.getName())) { - throw new UploadException(UploadConstant.UPLOAD_FILENAME_DENIED + " " + uploadFile.getName()); + boolean barred = extBarred(uploadFile.getName()); + if(barred) { + barred = false; + UploadParams uploadParams = new UploadParams(uploadFile.getName(),"upload.failure", uploadFile.getSize(), uploadFile.getContentType(), "directory", null, null); + uploadFile.getInputStream().close(); + history.add(uploadParams); + notify(uploadParams, uploadFile); } UploadStore uploadStore = UploadStore.getInstance(); - String altFileName = uploadStore.append(storeLocation, uploadFile, maxFileNumber, overwrite); + String altFileName = uploadStore.addEntry(uploadFile, overwrite, storeLocation, maxFileNumber); UploadParams uploadParams = new UploadParams(uploadFile.getName(),"upload.success", uploadFile.getSize(), uploadFile.getContentType(), "zip", storeLocation, altFileName); history.add(uploadParams); @@ -1060,12 +1047,16 @@ if(uploadFile.getSize() > maxFileSize) { throw new UploadException(UploadConstant.UPLOAD_FILE_SIZE_LIMIT_REACHED + " " + uploadFile.getName()); } - - if(extBarred(uploadFile.getName())) { - throw new UploadException(UploadConstant.UPLOAD_FILENAME_DENIED + " " + uploadFile.getName()); + boolean barred = extBarred(uploadFile.getName()); + if(barred) { + barred = false; + UploadParams uploadParams = new UploadParams(uploadFile.getName(),"upload.failure", uploadFile.getSize(), uploadFile.getContentType(), "directory", null, null); + uploadFile.getInputStream().close(); + history.add(uploadParams); + notify(uploadParams, uploadFile); } - if(maxFileNumber != -1 && storeMemory.size() >= maxFileNumber) { + if(maxFileNumber != UploadConstant.MAX_FILE_NUMBER && storeMemory.size() >= maxFileNumber) { throw new UploadException(UploadConstant.UPLOAD_LIMIT_REACHED); } @@ -1118,7 +1109,26 @@ } else { return excluded = false; } - return excluded; + return excluded = false; + } + + private boolean checkIncludedExts(String fileName) { + boolean included = false; + Iterator iter = includedExts.iterator(); + int i = fileName.lastIndexOf("."); + String extFile = null; + if(i != -1) { + extFile = fileName.substring(i + 1, fileName.length()); + while(iter.hasNext()) { + String ext = (String)iter.next(); + if(ext.equalsIgnoreCase(extFile)) { + return included = true; + } + } + } else { + return included = true; + } + return included = false; } } }}} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]