Avatar billede jademutter Nybegynder
05. september 2005 - 15:04 Der er 3 kommentarer og
1 løsning

JSP og forms?

Hej Alle

Jeg har en html-side som submitter en form til en jsp-side. Denne form giver brugeren mulighed for at indsætte noget tekst og uploade et billede til artiklen.
Men hvis jeg bruger <form method="post" ction="send_artikel.jsp" name="upform" enctype="application/x-www-form-urlencoded"> er det kun teksten der komme med over til jsp-siden.
Bruger jeg <form method="post" action="send_artikel.jsp" name="upform" enctype="multipart/form-data"> er det kun billedet der kommer med.

Hvilken enctype skal jeg bruge for at få både billede og tekst med?

/Jademutter
Avatar billede arne_v Ekspert
05. september 2005 - 15:11 #1
jeg lavede engang det her eksmepel med Jakarta Commons FileUpload

xuploadform.jsp:

<form action="xuploaddo.jsp" enctype="multipart/form-data" method="post">
Beskrivelse: <input type="text" name="beskrivelse"/><br/>
Fil: <input type="file" name="fil"/><br/>
<input type="submit" value="Submit"/>
</form>

xuploaddo.jsp:

<%@page import="org.apache.commons.fileupload.*,java.util.*,java.io.*"%>
<%
DiskFileUpload upload = new DiskFileUpload();
List files = upload.parseRequest(request);
for(int i = 0; i < files.size(); i++) {
  FileItem file = (FileItem)files.get(i);
  if(file.getFieldName().equals("beskrivelse")) {
      String beskrivelse = file.getString();
      out.println("beskrivelse=" + beskrivelse);
  }
  if(file.getFieldName().equals("fil")) {
      String filename = "C:\\test.upl";
      file.write(new File(filename));
  }
}
%>
Avatar billede jademutter Nybegynder
05. september 2005 - 20:03 #2
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
Avatar billede jademutter Nybegynder
05. september 2005 - 21:05 #3
Hej Arne

Jeg har fundet løsningen et andet sted...

/Jademutter
Avatar billede trp79 Nybegynder
07. september 2005 - 16:02 #4
-->jademutter
hvad var løsningen?
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