Bild Upload in JSP

draft

Grünschnabel
Hallo Leute!
Ich versuche per JSP eine Bild-Datei auf meinen (lokalen) Server hochzuladen und diese danach in einer anderen jsp anzuzeigen. Bekomme es leider nicht so hin, wie ich es will ^^.

Die jsp zur Dateiauswahl:
Java:
<%@ page language="java" %>
<HTml>
<HEAD><TITLE>Display file upload form to the user</TITLE></HEAD>  
  <BODY> <FORM  ENCTYPE="multipart/form-data" ACTION=
"single_upload_page.jsp" METHOD=POST>
                <br><br><br>
          <center><table border="2" >
                    <tr><center><td colspan="2"><p align=
"center"><B>PROGRAM FOR UPLOADING THE FILE</B><center></td></tr>
                    <tr><td><b>Choose the file To Upload:</b>
</td>
                    <td><INPUT NAME="F1" TYPE="file"></td></tr>
                                        <tr><td colspan="2">
<p align="right"><INPUT TYPE="submit" VALUE="Send File" ></p></td></tr>
             <table>
     </center>      
     </FORM>
</BODY>
</HTML>
Die jsp zum upload und anzeigen des Bildes:
Java:
<%@ page import="java.io.*" %>
<%        String contentType = request.getContentType();
        if ((contentType != null) && (contentType.indexOf("multipart/form-data") >= 0)) {
                DataInputStream in = new DataInputStream(request.getInputStream());
                int formDataLength = request.getContentLength();
                byte dataBytes[] = new byte[formDataLength];
                int byteRead = 0;
                int totalBytesRead = 0;
                while (totalBytesRead < formDataLength) {
                        byteRead = in.read(dataBytes, totalBytesRead, formDataLength);
                        totalBytesRead += byteRead;
                        }
                                        String file = new String(dataBytes);
                String saveFile = file.substring(file.indexOf("filename=\"") + 10);
                saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
                saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
                int lastIndex = contentType.lastIndexOf("=");
                String boundary = contentType.substring(lastIndex + 1,contentType.length());
                int pos;
                pos = file.indexOf("filename=\"");
                pos = file.indexOf("\n", pos) + 1;
                pos = file.indexOf("\n", pos) + 1;
                pos = file.indexOf("\n", pos) + 1;
                int boundaryLocation = file.indexOf(boundary, pos) - 4;
                int startPos = ((file.substring(0, pos)).getBytes()).length;
                int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;
                FileOutputStream fileOut = new FileOutputStream(saveFile);
                fileOut.write(dataBytes, startPos, (endPos - startPos));
                fileOut.flush();
                fileOut.close();%>
                <Br><table border="2"><tr><td><b>You have successfully
 upload the file by the name of:</b>
                <% out.println(saveFile); %></td></tr></table>
                <img src="<%=request.getRealPath(saveFile)+saveFile%>"> <%
                }
%>

Das Anzeigen des Bildes versuch ich mit:
Java:
 <img src="<%=request.getRealPath(saveFile)+saveFile%>">
Ist wohl leider falsch :p
 
Hab das Mod-Team via "Beitrag melden"-Funktion um eine Umleitung in den Fachbereich gebeten, damit die Frage von dir kein zweites Mal im Forum auftaucht ;)
 
Java:
<Br><table border="2"><tr><td><b>You have successfully
 upload the file by the name of:</b>
                <% out.println(saveFile); 
                out.println( request.getRealPath(saveFile));%></td></tr></table>
               <img src="<%=saveFile%>">
You have successfully upload the file by the name of: 008.JPG C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MeineHomepage\008.JPG
als Bild kommt nur ein kleines rotes x, es müsste allerdings ein Bild von mir sein, irgendwie wird das Bild nicht gespeichert, denn ich finde es nicht in dem angegeben Ordner..

also den Pfad gibt es, allerdings die Datei nicht ^^, ich wäre auch bereit, auf andere Lösungen einzugehen, habe allerdings nur sehr wenig Erfahrung in Sachen Homepage und bringe mir aktuell alles selbst bei. Jetzt steht nunmal der Bildupload für ein Userpic an.
 
Zuletzt bearbeitet:
Nicht wirklich...
prüf doch einmal hier:
Java:
<% out.println(saveFile); %>
vor oder nach dem println, ob die Datei noch existiert und lass dir das Ausgeben (Ja/Nein oder so).
 
Zurück