This is a sample code from a servlet that allows multiple file attachments. The paths of the different files are placed in a vector:
if (button.equalsIgnoreCase("Attach")) {
Vector mfiles = (Vector)session.getAttribute("files");
//upload file to server
MultipartRequest mr = new
MultipartRequest(request,uploadDirectory);Enumeration params = mr.getParameterNames();
while (params.hasMoreElements()) {
String name = (String)params.nextElement();
String value = mr.getParameter(name);
System.out.println(name + " = " + value);
}boolean attached = false;
Enumeration files = mr.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
String filename = mr.getFilesystemName(name);
if (filename==null){
System.out.println("\nDCA_TEC/Attach:File
attached is null");
String mailmsg = "Error: No file selected for
attachment.";
session.setAttribute("mailmsg",mailmsg);response.sendRedirect("/NASApp/DCA_TEC/Message.jsp");
break;
}
String type = mr.getContentType(name);
File f = mr.getFile(name);
System.out.println("\nDCA_TEC/Attach:name:"+name);System.out.println("\nDCA_TEC/Attach:filename:"+filename);
System.out.println("\nDCA_TEC/Attach:type:"+type);
if (f!=null){System.out.println("\nDCA_TEC/Attach:length:"+f.length());
path = f.getAbsolutePath();
f.deleteOnExit();System.out.println("\nDCA_TEC/Attach:path:"+f.getAbsolutePath());
}
//check if attached file is not one of the
following: exe, bat, com, dll
//if it is, remove the file from the server
boolean allowed = false;
String extension =
filename.substring((filename.length()-4),filename.length());
String[] allowedfiles =
{".avi",".bmp",".css",".csv",".doc",".dot",".gif",".htm","html",".ico",".jpe","jpeg",".jpg",".log",".lzh",".mdb",
".mid",".mp3",".pdf",".pps",".ppt",".rtf",".tar",".tif",
".txt",".wav",".xlb",".xls",".xml",".zip",".ear",".war",
".jar",".snp",".mpp",".mpe","mpeg",".mpg",".wks",".wk1",
".wk3",".wk4",".dbf",".xlt",".xlw",".prn",".spl",".swf",
".dif",".pcx",".rm" }; for(int x=0;x<allowedfiles.length;x++){
if (extension.equalsIgnoreCase(allowedfiles[x])){
allowed = true;
}
}
if (allowed==false) {
if (f.exists()){
boolean deleted = false;
deleted = f.delete();
if (deleted){System.out.println("\nDCA_TEC/Attach:file deleted");
}else {System.out.println("\nDCA_TEC/Attach:file not deleted.should be removed
manually.");
}
attached = true;
String mailmsg = "Attachment fails. File
selected may be potentially risky.";
session.setAttribute("mailmsg",mailmsg);
}
}
}Amit L Kanaskar wrote:
Hi,
I want to upload some files to the server from a applet. I am using the com.oreilly.servlet.MultipartRequest class and it works for a single file. Is it possible to do it for multiple files also ? It would be very helpful if there is any sample code available. I checked on the internet but all the examples are for form based upload.
Thank you in advance, amit.
___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
