Jeg bruger en class-fil der hedder javazoom.upload.UploadBean (
www.javazoom.net), da den giver mulighed for en række begrænsninger.
Min form ser således ud:
<form method="post" action="send_artikel.jsp" name="upform" enctype="multipart/form-data">
<p>Overskrift:
<INPUT TYPE=TEXT NAME=overskrift SIZE=45>
<BR>
Indhold:<br>
<textarea rows="10" name="indhold" cols="50"></textarea><br>
<p><b>Send denne nyhed til:</b></p>
<p><input type="checkbox" name="XXX" value="XXX">XXXp>
<p><input type="checkbox" name="ZZZ" value="ZZZ">ZZZZ)</p>
<p><input type="checkbox" name="andre" value="andre">Andre E-Mail:<input type=text name="andrewho" size=30> </p>
<p><input type="file" name="uploadfile" size="50"><input type="hidden" name="todo" value="upload">
<input type="reset" name="Reset" value="Cancel">
<input type="submit" value="Opret">
Og min send_artikel ser således ud:
<%
String pic = "/home/virtual/site196/fst/var/www/html/billeder/upload/";
if (MultipartFormDataRequest.isMultipartFormData(request))
{
// Uses MultipartFormDataRequest to parse the HTTP request.
MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
String todo = null;
upBean.setWhitelist("*.jpg,*.gif"); //Tilladte filtyper
upBean.setFilesizelimit(1000000); //Max størrelse i bytes
if (mrequest != null) todo = mrequest.getParameter("todo");
if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )
{
Hashtable files = mrequest.getFiles();
if ( (files != null) && (!files.isEmpty()) )
{
UploadFile file = (UploadFile) files.get("uploadfile");
if (file != null) out.println("<li>Form field : uploadfile"+"<BR> Uploaded file : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> Content Type : "+file.getContentType());
pic += file.getFileName();
// Uses the bean now to store specified by jsp:setProperty at the top.
upBean.store(mrequest, "uploadfile");
}
else
{
out.println("<li>No uploaded files");
}
}
else out.println("<BR> todo="+todo);
}
%>
/Jademutter