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
Annonceindlæg fra SuperOffice
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.
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.
Jeg kan da prøve at lave et
Det ville være lækkert arne..
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(); } } %>
Jeg tygger lige videre på et blander filer og text eksempel
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)); } } %>
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)); } } %>
Jeg leger lige med det arne vender tilbage... :-)
13. juni 2004 - 22:14
#10
Det virker bare super arne mange tak :-) Bare læg et svar..
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?
13. juni 2004 - 22:38
#12
svar
13. juni 2004 - 22:39
#13
Din form var OK men request.getParameter virker ikke med multipart
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
14. juni 2004 - 13:25
#15
Jamen det virker nu ... endnu engang mange tak arne
Kurser inden for grundlæggende programmering