2013-12-10 91 views
1

我想上傳使用servlet的圖像,但我無法做到這一點。服務器控制檯中沒有錯誤。無法上傳圖像使用Servlet

這裏是我的servlet代碼

if (ServletFileUpload.isMultipartContent(request)) { 
     try { 
      List<FileItem> multiparts = new ServletFileUpload(
        new DiskFileItemFactory()).parseRequest(request); 
      System.out.println(items); // this is printed as empty list 
      for (FileItem item : multiparts) { 
       System.out.print(DIR); 
       if (!item.isFormField()) { 
        String name = new File(item.getName()).getName(); 
        item.write(new File(DIR + "\\" + name)); 
       } 
      } 
     } catch (Exception ex) { 
      System.out.println(ex); 
      request.getRequestDispatcher("/message/success/Failure.jsp").forward(request, response); 
     } 

    } else { 
      request.getRequestDispatcher("/message/success/NotSupported.jsp").forward(request, response); 
    } 

我的HTML

<form action="ChangeAvtar" method="post"> 
     <a onclick="document.getElementById('file').click()" >Edit</a> 
     <input type="file" id="file" /> 
     <input type="submit"> 
    </form> 

我可以找出的原因是項目列表是空的,所以它不會進入for循環,但不確定爲什麼。

謝謝。

+0

看看這個鏈接可以幫助你 - http://stackoverflow.com/questions/13881272/servletfileuploadparserequestrequest-returns-an-empty-名單 –

回答

0

嘗試在HTML表單標籤使用--->enctype="multipart/form-data" ..