浏览 1981 次
锁定老帖子 主题:简单文件上传
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-29
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-27
本人自己用java写的一个文件上传组件,欢迎大家使用和交流。
下面是如何使用代码: //--------------uploadFile.html------------------ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>upload file </title> </head> <body> <form method="post" encType="multipart/form-data" action="servlet/UploadFile"> <table> <tr><td>你的姓名是:</td><td><input type="text" name="name" /></td></tr> <tr><td>你的学号是:</td><td><input type="text" name="number" /></td></tr> <tr><td>你的兴趣是:</td><td><input type="checkbox" name="interest" value="reading"/>reading <input type="checkbox" name="interest" value="skating"/>skating <input type="checkbox" name="interest" value="go shopping"/>go shopping</td></tr> <tr><td>你要上传的文件是:</td><td><input type="file" name="file1" /></td></tr> <tr><td>你要上传的文件是:</td><td><input type="file" name="file1" /></td></tr> <tr><td><input type="submit" value="submit" /></td></tr> </table> </form> </body> </html> //------------------UploadFile.java (servlet)------------------------ package servlet; import org.sklse.upload.*; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UploadFile extends HttpServlet { /** * Constructor of the object. */ public UploadFile() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(", using the GET method"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); // ---------------------deal with the upload file ------------------------------- try { MultipartRequest parameters=new MultipartRequest(request,"UTF-8"); // deal with name/value Enumeration textNames=parameters.getParameterNames(); out.println("<table>"); String value; String[] values; while(textNames.hasMoreElements()) { String name=(String)textNames.nextElement(); Object object=parameters.getParameter(name); if(object instanceof String) { value=(String)object; out.println("<tr><td>"+name+"=</td><td>"+value+"</td></tr>"); } else if(object==null) { object=parameters.getParameterValues(name); values=(String[])object; out.println("<tr><td>"+name+"=</td><td>"); for(int i=0;i<values.length;i++) out.println(values[i]+" "); out.println("</td></tr>"); } } out.println("</table>"); //deal with name/file FileHolder[] fileHolders=parameters.getFileParameterValues("file1"); for(int i=0;i<fileHolders.length;i++) { out.println("<br><hr width='50%' align='left'>"); FileHolder fileHolder=fileHolders[i]; if(!fileHolder.getFileName().equals("")) fileHolder.saveTo("/pictures/"); out.println("fileName="+fileHolder.getFileName()+"<br>"); //out.println("fileParameterName="+fileHolder.getParameterName()+"<br>"); out.println("clientFilePath="+fileHolder.getClientFilePath()+"<br>"); out.println("contentType="+fileHolder.getContentType()+"<br>"); } } catch(MultipartRequestException cfe) { out.println(cfe.getMessage()); } out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occure */ public void init() throws ServletException { // Put your code here } } //---------------------------------------------------- 组件实现原理及源代码详单见(http://adorechen.blog.163.com) //----------------------------------------------------- |
|
返回顶楼 | |