2011-04-25 3 views
0

글래스 피 서버가있는 netbeans에 처음입니다. 내 html 코드는 요청이 제출되면jsp를 사용하여 파일 목록을 표시하고 싶습니다.

<html> 
    <body> 
<form id="file_upload_form" method="post" enctype="multipart/form-data" action="upload.java"> 
    <div style="float:center"> 
     <center> 
      Select a file: 
      <input type="file" name="first" /> 
      <input type="submit" name="button" value="upload" /> 
     </center> 
    </div> 
    <center> 
     </br> 
     </br> 
     <iframe id="upload" style="background-color:white;" width=90% height=80%></iframe> 
    </center>     
</form> 
</body> 
</html> 

처럼 보입니다. 업로드 된 파일을 드라이브 (ex.c :/upload) 및 iframe에 저장하려고합니다. id = upload)는 폴더 (c :/upload)에 파일을 표시해야합니다. 아무도 내가 어떻게이 일을 보여줍니다 몇 가지 샘플 코드를 찾을 수 있는지 알고 있습니까?

답변

1

서블릿에서 HTTP multipart/form-data 요청을 처리하려면 Apache Commons FileUpload을 사용하십시오. FileItem에 업로드 된 파일로 끝나야합니다. 그것에는 write() 방법이 있습니다.

사용 설명서 및 기타 코드 예는 User Guide을 확인하십시오.


이 폴더에있는 파일의 목록을 표시하려면, 당신은 특정 경로에있는 모든 파일 (경로)의 목록을 반환하는 listFiles() 방법을 가지고는 java.io.File API를 사용해야합니다. 사전 처리 servlet에서 요청을 처리하여 JSP에 요청을 전달하여 목록을 표시합니다. /WEB-INF/uploads.jsp 파일을 사용 JSTL <c:forEach>에서

File[] files = new File("c:/upload").listFiles(); 
request.setAttribute("files", files); 
request.getRequestDispatcher("/WEB-INF/uploads.jsp").forward(request, response); 

File[]을 반복합니다.

<c:forEach items="${files}" var="file"> 
    <c:out value="${file.name}" /> (${file.length/1024}KB)<br/> 
</c:forEach> 

물론 이것은 더 많은 (UI) 미세 조정을 위해 열렸 음에 유의하십시오. 그러나 이는 귀하에게 달려 있음을 유의하십시오. HTML/JSP/Servlet 기초를 이미 알고 있다고 가정합니다.

-1

당신이

 <%! 
     Object path; 
     public void getDirectory(String path, Vector files, Vector folder){ 
     File directory=new File(path); 
    File []file=directory.listFiles(); 
     for(int i=0; i<file.length; i++){ 
     if(file[i].isDirectory()){ 
     folder.add(file[i].getName()); 
     } 
     else{ 
     files.add(file[i].getName()); 
     } 
    } 
} 
%> 

<table> 
<% 

    path=session.getAttribute("fileName"); 
    Vector file=new Vector(), folder=new Vector(); 
    getDirectory("C:/FileFolderProject/WebContent/"+path,file,folder); 
    out.println("<music>"); 

    for(int a=0; a<file.size(); a++){ 
    %> 
    <tr> 
    <td> 
     <img src="images/editfileimg.jpg" alt="file"> 
     </td> 
    <td> 
    <% 
    out.println("<file>"+file.elementAt(a).toString()+"</file><br/>"); 
    %> 
    </td> 
    <tr> 
    <% 

    } 
    out.println("</music>"); 
    %> 
    </table> 
처럼 할 수
관련 문제