Avatar billede aslan Nybegynder
12. juni 2004 - 23:37 Der er 14 kommentarer og
1 løsning

Data fra en form bliver ikke udskrevet?

Af en eller anden grund bliver der kun udskrevet null når formen bliver submittet i eksemplet og koden i if sætningen bliver ikke udført. Har nogen et forslag til dette?

Min kode se således ud:


lookUp2.jsp:
<%
    String aut = request.getParameter("author");
    String com = request.getParameter("company");
    String fil = request.getParameter("filename");
   
    out.println("aut "+aut);
    out.println("com "+com);
    out.println("fil "+fil);

    if(aut != null)
    {
        UploadTest upload = new UploadTest();
        upload.uploadFile(request);

       
        out.print("Uploader");
    }
%>

<br/>

    <form action="lookUp2.jsp" enctype="MULTIPART/FORM-DATA" method=post>
    Author: <input type="text" name="author" />
    <br />
    Company: <input type="text" name="company" />
    <br />
    Select file to upload <input type="file" name="filename" />
    <br />
    <input type="submit" value="Upload" />
    </form>


Udskrift:

aut null com null fil null
Avatar billede arne_v Ekspert
13. juni 2004 - 18:11 #1
Jeg er ret sikker på at det er enctype="MULTIPART/FORM-DATA"  som laver
problemer.

Hvis du skal bruge det til noget (og altså ikke bare vil lære noget), så
skulle du nok kigge på enten Apache eller O'Reilly libs til den slags.
Avatar billede aslan Nybegynder
13. juni 2004 - 19:58 #2
Har du et simpel eksempel jeg kan se arne, jeg har forsøgt mig med de 2 libs, men har ikke kunne få det op at køre.
Avatar billede arne_v Ekspert
13. juni 2004 - 20:14 #3
Jeg kan da prøve at lave et
Avatar billede aslan Nybegynder
13. juni 2004 - 20:52 #4
Det ville være lækkert arne..
Avatar billede arne_v Ekspert
13. juni 2004 - 21:20 #5
Først et lille eksempel med kun filer.

uploadform.jsp:

<form action="uploaddo.jsp" enctype="multipart/form-data" method="post">
Fil 1: <input type="file" name="fil1"/><br/>
Fil 2: <input type="file" name="fil2"/><br/>
Fil 3: <input type="file" name="fil3"/><br/>
<input type="submit" value="Submit"/>
</form>

uploaddo.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.getSize() > 0) {
      String filename = "C:\\" + file.getFieldName() + ".upl";
      OutputStream os = new FileOutputStream(filename);
      os.write(file.get());
      os.close();
  }
}
%>
Avatar billede arne_v Ekspert
13. juni 2004 - 21:21 #6
Jeg tygger lige videre på et blander filer og text eksempel
Avatar billede arne_v Ekspert
13. juni 2004 - 21:23 #7
Den sidste laves vist smartere som:

<%@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.getSize() > 0) {
      String filename = "C:\\" + file.getFieldName() + ".upl";
      file.write(new File(filename));
  }
}
%>
Avatar billede arne_v Ekspert
13. juni 2004 - 21:34 #8
Jeg synes ikke at det er vildt pænt. Men det virker.

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 aslan Nybegynder
13. juni 2004 - 21:43 #9
Jeg leger lige med det arne vender tilbage... :-)
Avatar billede aslan Nybegynder
13. juni 2004 - 22:14 #10
Det virker bare super arne mange tak :-)

Bare læg et svar..
Avatar billede aslan Nybegynder
13. juni 2004 - 22:16 #11
Lige et sidste spørgsmål... hva var der galt med min form siden jeg ikke kunne sende attributter fra den?
Avatar billede arne_v Ekspert
13. juni 2004 - 22:38 #12
svar
Avatar billede arne_v Ekspert
13. juni 2004 - 22:39 #13
Din form var OK men request.getParameter virker ikke med multipart
Avatar billede aslan Nybegynder
13. juni 2004 - 22:56 #14
ok tak, men nu kan jeg se at hvis jeg uploader en excel file så er filen korrupt.

Har du nogen forslag til det arne?

Den brokker sig over at noget af filen mangler
Avatar billede aslan Nybegynder
14. juni 2004 - 13:25 #15
Jamen det virker nu ... endnu engang mange tak arne
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