标签:上传文件
FileUpload下载地址:
http://commons.apache.org/fileupload/
下载:commons-fileupload-1.2.2-bin.zip 得到:commons-fileupload-1.2.2.jar
http://commons.apache.org/io/
下载:commons-io-1.4-bin.zip 得到:commons-io-1.4.jar
<!--将文件作为一种数据格式;--> <!--注意:1.method="post" 2.enctype="multipart/form-data"--> <html> <form id="form" name="form" method="post" action="upload.action" enctype="multipart/form-data"> <table > <tr> <td > <input type="file" style="font-size:14px" name="filename" /> </td> </tr> <tr> <td > <input type="submit" style="font-size:14px" value="上传文件" /> </td> </tr> </table> </form> </html>
import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class UploadServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("gbk"); resp.setContentType("text/html;charset=gbk"); PrintWriter out = resp.getWriter(); //磁盘文件工厂类; DiskFileItemFactory factory = new DiskFileItemFactory(); //关联关系创建ServletFileUpload类; ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items; try { //将req中的数据放入表单域; items = upload.parseRequest(req); for(FileItem item : items){ //判断是否是文件 if(!item.isFormField()) { //文件名称; String filename = item.getName(); //前缀路径; //某些浏览器会将文件的绝对路径全部提交;(ie)Y (chrome)N filename = filename.substring(filename.lastIndexOf("\\")+1); //在WebRoot下创建一个uploads文件夹; //找到服务器上的路径upload文件夹; File file = new File(req.getServletContext().getRealPath("uploads")+File.separator+filename); //文件的二进制已经在item对象中,导入file文件; item.write(file); out.print("<html><center >上传成功,3秒后跳转!</center></html>"); return ; } } } catch (Exception e) { e.printStackTrace(); } out.print("<html><center>上传失败!</center></html>"); } }
web.xml
web.xml <servlet> <servlet-name>upload</servlet-name> <servlet-class>cn.lh.web.UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/upload.action</url-pattern> </servlet-mapping>
标签:上传文件
原文地址:http://blog.csdn.net/w5167839/article/details/39202481