Avatar billede mik28 Seniormester
04. januar 2009 - 11:20 Der er 2 kommentarer og
1 løsning

Hvordan ved jeg at en fil er uploaded?

Hej Eksperter,

Jeg skal lave en side som først uploader en fil og når det så er sket så gør noget mere med den. Jeg bruger http://www.javazoom.net/jzservlets/uploadbean/uploadbean.html

<html>
<%@ page language="java" import="javazoom.upload.*,java.util.*" %>
<%@ page errorPage="ExceptionHandler.jsp" %>

<jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
  <jsp:setProperty name="upBean" property="folderstore" value="c:/uploads" />
</jsp:useBean>

<head>
<title>Samples : Simple Upload</title>
<style TYPE="text/css">
<!--
.style1 {
    font-size: 12px;
    font-family: Verdana;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<ul class="style1">
<%
      if (MultipartFormDataRequest.isMultipartFormData(request))
      {
        // Uses MultipartFormDataRequest to parse the HTTP request.
        MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
        String todo = null;
        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());
                    // 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);
      }
%>
</ul>
<form method="post" action="SimpleUpload.jsp" name="upform" enctype="multipart/form-data">
  <table width="60%" border="0" cellspacing="1" cellpadding="1" align="center" class="style1">
    <tr>
      <td align="left"><b>Select a file to upload :</b></td>
    </tr>
    <tr>
      <td align="left">
        <input type="file" name="uploadfile" size="50">
        </td>
    </tr>
    <tr>
      <td align="left">
        <input type="hidden" name="todo" value="upload">
        <input type="submit" name="Submit" value="Upload">
        <input type="reset" name="Reset" value="Cancel">
        </td>
    </tr>
  </table>
</form>
</body>
</html>

Jeg ville jo mene at hvis man kommer ind i
if (file != null)
så er filen blevet uploaded. Problemet er bare at det er den ikke
Avatar billede mik28 Seniormester
04. januar 2009 - 11:33 #1
Det jeg gerne vil når filen er uploaded, hvis det ellers lykkes, er at skrive

out.println(new Laesexcel().laesExcel(file.getFileName()));

Hvis jeg udkommenterer den linie så fungerer uploaden som den skal. Hvis jeg så fjerner udkommenteringen og uploader den samme fil igen så virker det. Problemet er tilsyneladende at filen ikke findes på det tidspunkt hvor jeg ønsker at kalde den første gang. (håber ikke det er helt volapyk)
Avatar billede mik28 Seniormester
04. januar 2009 - 11:49 #2
Jeg vil gerne skrive:

if (file != null){
                    out.println("<li>Form field : uploadfile"+"<BR> Uploaded file : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> Content Type : "+file.getContentType());
                    out.println(new Laesexcel().laesExcel(file.getFileName()));
                    }
men jeg får denne fejl:

java.io.FileNotFoundException: /DIR/uploads/test.xls (No such file or directory)
Avatar billede mik28 Seniormester
04. januar 2009 - 16:30 #3
Det er jo selvfølgelig fordi jeg ikke kan hente filen før

upBean.store(mrequest, "uploadfile");

DOOOOH!!!!!!
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