天天看點

簡單的檔案上傳(javaweb實作)

有關servlet的代碼如下:
public class fileServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
 // InputStream in=request.getInputStream();
 // String string=IOUtils.toString(in);
 // System.out.println(string);

DiskFileItemFactory factory=new DiskFileItemFactory();//建立工廠
ServletFileUpload fileUpload=new ServletFileUpload(factory);//得到工廠的解析器
try {
List<FileItem> FileItems=fileUpload.parseRequest(request);//通過傳入一個request對象得到fileupload的list對象
FileItem fileItem=FileItems.get(0);//得到第一個fileitem對象的
System.out.println("屬性的名字為:"+fileItem.getName()+"     值為:"+fileItem.getString("UTF-8"));//得到第一個屬性的名字和傳入的值
 //輸出為: 屬性的名字為:null     值為:愛你哦
FileItem fileItem2=FileItems.get(1);//得到第二個fileItem對象
System.out.println("檔案的名稱:"+fileItem2.getName()+"   檔案的類型:"+fileItem2.getContentType());//擷取檔案的名稱,以及擷取檔案的類型
 //輸出為: 檔案的名稱:愛你哦   檔案的類型:image/jpeg
File file=new File("D://destiny.jpg");//建立該檔案的對象
try {
fileItem2.write(file);//将檔案儲存到了d盤下名字為destiny的圖檔
} catch (Exception e) {
throw new RuntimeException(e);
}//輸出到該檔案對象中
} catch (FileUploadException e) {
throw new RuntimeException(e);
}//
}jsp的代碼如下:
 <body>
<form action="<c:url value='/fileServlet' />" method="post" enctype="multipart/form-data">
姓名:<input type="text" name="name"   /><br/>
照片:<input type="file" name="file"/><br/>
<input type="submit" value="送出"  /> 
</form>
   </body>      

繼續閱讀