Periodisk fejl ved Upload af billede
Hejsa - jeg har lavet en gæstebog, som jeg har lidt problemer med. Hjemme fra min computer kan jeg ikke fremprovokere en fejl uanset hvad jeg gør, men nogle få brugere siger at de ikke kunne uploade deres billede, selvom det ikke var for stort og var på et helt almindeligt fil-format (som f.eks. JEPG).Jeg benytter benytter bean'en "com.jspsmart.upload.SmartUpload".
Koden for siden der modtager data fra min multipart-form ser således ud:
------------------------------KODE------------------------------
<%@ page language="java"%>
<%@ page errorPage="error_page.jsp" %>
<%@ page isThreadSafe = "false" %>
<%@ page import = "com.jspsmart.upload.*"%>
<%@ page import = "java.util.Vector"%>
<%@ page import = "JavaBeans.Gaestebog"%>
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<jsp:useBean id="DBCservice" class="JavaBeans.DBCSBean" scope="page" />
<jsp:useBean id="TNservice" class="JavaBeans.ThumbnailBean" scope="page" />
<jsp:useBean id="TCservice" class="JavaBeans.TextCleaner" scope="page" />
<%
//Deklarer ydre variable
String filformatexcep = null;
String dbstat = null;
String navn = null;
String email_adresse = null;
String hjemmeside = null;
String indhold = null;
String mailingliste = null;
try {
//Initialisering hvor sidens kontekst parameteroverføres til den anvendte bean
myUpload.initialize(pageContext);
//Tillad kun at .jpg-filer uploades
myUpload.setAllowedFilesList("jpg,jpeg,bmp,jif,jfif,gif,,");
//Sæt max fil-størrelse til 520 KB
myUpload.setTotalMaxFileSize(520000);
//Upload fil
myUpload.upload();
//Hent FORM-parametre
navn = myUpload.getRequest().getParameter("navn");
email_adresse = myUpload.getRequest().getParameter("email_adresse");
hjemmeside = myUpload.getRequest().getParameter("hjemmeside");
indhold = myUpload.getRequest().getParameter("indhold");
mailingliste = myUpload.getRequest().getParameter("mailingliste");
}
catch(Exception e) {
filformatexcep = "<br> <br> <br> <br> <br> <br> "+
"An error occurred during upload of the picture."+
" Please make sure that the picture is type JPG and "+
"smaller than 500 KB, and try again.<br> <br> <br> <br> <br> <br> ";
}
try {
if (filformatexcep == null) {
//Check form-parametre og redirect hvis fejl
/* udkommenteret erk.dk
//håndteres client-side i java-script nu...
if(navn.equals("") || indhold.equals("")) {
DBCservice.closeConnection();
response.sendRedirect("indsaet_gaestebogindlaeg.jsp");
}
*/
//Få fat på filens navn... ('File' må skrives med det fulde
//stinavn for ikke at blive forvekslet med java.io.File
Files fs = myUpload.getFiles();
com.jspsmart.upload.File f = (com.jspsmart.upload.File) fs.getFile(0);
String filnavn = f.getFileName();
if(f.getSize() == 0) {
filnavn = "";
}
try {//Her gemmes filen
//Gem filen med dens originale navn under gimages-folderen
myUpload.save("/gimages");
//Der dannes automatisk en thumbnail via ThumbnailBean
TNservice.createThumbnailGB(filnavn);
//Indsætter tekst på det uploadede fulde billede (virker ikke endnu
//TNservice.indsaetKommentar(filnavn, "Erk.dk");
}
catch(Exception e) {
out.println("Filen kunne ikke uploades: " +e.toString());
}
//Rens ud i grimt sprog på 'navn' og 'indhold' og fjern html-tegn
Vector badWords = new Vector();
badWords.addElement("fuck");
badWords.addElement("lort");
badWords.addElement("pik");
badWords.addElement("fisse");
badWords.addElement("kusse");
badWords.addElement("luder");
badWords.addElement("møgso");
badWords.addElement("møg-so");
badWords.addElement("røvpul");
badWords.addElement("røv-pul");
badWords.addElement("knep");
badWords.addElement("perker");
badWords.addElement("nazi");
badWords.addElement("heil");
badWords.addElement("smatso");
badWords.addElement("ihjel");
badWords.addElement("dræb");
badWords.addElement("svin");
badWords.addElement("røvhul");
indhold = TCservice.cleanOut(indhold, badWords);
indhold = TCservice.removeHTML(indhold);
navn = TCservice.cleanOut(navn, badWords);
navn = TCservice.removeHTML(navn);
//Indsæt den relevante fils metadata via DBCSBean
Gaestebog tempGaestebog = new Gaestebog();
tempGaestebog.setNavn(navn);
tempGaestebog.setEmail_adresse(email_adresse);
tempGaestebog.setHjemmeside(hjemmeside);
tempGaestebog.setIndhold(indhold);
tempGaestebog.setFilnavn(filnavn);
dbstat = DBCservice.indsæt_gaestebog(tempGaestebog);
}
}
catch(Exception e) {
filformatexcep = "An error occurred during upload of the picture."+
"Please make sure that the picture is type JPG and smaller than 500 KB, and try again.";
}
DBCservice.closeConnection();
%>
<!-- include topstykke.jsp -->
<jsp:include page="topstykke.jsp" flush="true"/>
<% if(filformatexcep != null) {
out.println("<FONT color=ff0000><B>"+filformatexcep+"</B><BR><BR></FONT>");
}
else if(dbstat.equals("indsæt_gaestebog OK")) { %>
bla - det gik godt
<%}%>
------------------------------KODE------------------------------
Håber nogen kan give mig et tip om hvad der er galt...
Jeg kan simpelthen ikke hitte ud af det!
-Erik
PS: Vil man teste gæstebogen findes den på http://www.erk.dk/vis_gaestebog.jsp - Jeg skal nok sørge for at slette test-entries :o)
