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]