Avatar billede eerikk Nybegynder
07. februar 2004 - 11:19 Der er 1 kommentar og
1 løsning

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)
Avatar billede eerikk Nybegynder
07. februar 2004 - 15:58 #1
Jeg tror jeg har fundet det:

//Tillad kun at .jpg-filer uploades
  myUpload.setAllowedFilesList("jpg,jpeg,bmp,jif,jfif,gif,,");

her skal der også være filnavne skrevet med STORE bogstaver.. men jeg er ikke sikker så kom endelig med et bud :o)
Avatar billede eerikk Nybegynder
10. februar 2004 - 10:56 #2
*lukker og slukker*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester