Frågan 29 mars 2003 15:45 #1 Någon som vet hur man kan skriva en file-upload funktion i Java/JSP??
Jag vill kunna ladda upp filer från klientdatorn via <input type=file...
Jag har kollat överallt men bara hittat tredjepartskomponenter och jag tror inte att mitt webhotell vill installera någon sådan.
Sedan är det ju lite roligare att göra en egen också!! :)
Finns det exempelkod någonstans, som man kan bygga vidare på?? Kanske någon som har en länk???
Tack på förhand!!
Mc Fetto Medlem sedan nov. 2002 2 355 inlägg *bump* En stilla undran här med! Jag skulle vilja kunna ladda upp bilder, men det verkar vara rätt omständigt. Någon som har en ide?
K K@llen Medlem sedan mars 2003 2 667 inlägg Hittade ett litet exempel med hjälp av min vän google:
http://www.oop-reserch.com/mime_example_5.html
Mc Fetto Medlem sedan nov. 2002 2 355 inlägg Hade tittat lite på den siten innan med men fick inte rätt på at. Får väl ta en titt till... tack :)
Mc Fetto Medlem sedan nov. 2002 2 355 inlägg Hittade en bra modul hos apache fileupload
väldans enkelt blev det efter att ha tittat på denna tutorialen:
http://www.onjava.com/pub/a/onjava/2003/06/25/commons.html?page=3 (finns säker bättre men men).
Lyckas nu ladda upp filer men det kommer säääkerligen fler frågor senare... :OO
S swede Medlem sedan feb. 2004 230 inlägg Jag bumpar igång den här tråden igen...
Håller på att bygga en servlet som ska hantera uppladdning av filer och jag tänkte använda mig av apaches common-fileupload.
Har försökt följa de tips jag hittat men jag får det bara inte att funka!
Här är min servlet kod:
package core;
import java.io.*;
import java.util.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
public class FileUpload extends HttpServlet {
public void doPost(HttpServletRequest request) throws IOException, FileUploadException {
DiskFileUpload upload = new DiskFileUpload();
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()){
FileItem item = (FileItem)iter.next();
if (item.isFormField()){
System.out.println("...................");
System.out.print("Field Name :" + item.getFieldName());
System.out.print("Field Value :" + item.getString());
System.out.println("...................");
}
}
}
}
Men allt jag får är ett felmeddelandet: HTTP Status 405 - HTTP method POST is not supported by this URL
När jag försöker accessa min servlet....
Vad har jag gjort för fel?!?
R RGB Medlem sedan dec. 1999 419 inlägg Ändra:
doPost(HttpServletRequest request)
Till:
doPost( HttpServletRequest request, HttpServletResponse response )
S swede Medlem sedan feb. 2004 230 inlägg Jag har sett exempel där de använder doUpload(HttpServletRequest request)...
Är det något som de lagt dit för att förvilla eller finns det något sådant i HttpServlet?
R RGB Medlem sedan dec. 1999 419 inlägg Om du syftar du på exemplet här: http://www.onjava.com/pub/a/onjava/2001/04/05/upload.html?page=2 så har det ingenting med Jakarta commons fileUpload att göra (och det var väl det du ville använda?).
Metoderna som finns implementerade i HttpServlet kan du hitta här:
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpServlet.html
L Lime Medlem sedan sep. 2001 961 inlägg
swede skrev:
Jag har sett exempel där de använder doUpload(HttpServletRequest request)...
Är det något som de lagt dit för att förvilla eller finns det något sådant i HttpServlet?
Njea... det finns i vissa implementationer av javax.servlet.http-interfacen.
Men då är det tillägg och inte en ren implementation. Vi har en sådan överlagring i vårt ramverk som vi använder vid implementering av web-system. Det behövs... alltid...
Om du tror att du kommer att använda dig av denna typ av funktionalitet ofta så bör du göra en sådan överlagring av javax.servlet.http.HttpServlet och läggat till t.ex. doUppload och sedan skapa dina servlettar från denna.