<form action="UploadServlet" enctype="multipart/form-data" method="post">
    		书籍名称:<input type="text"name="name"><br>
    		图片名称:上传文件:<input type="file" name="img"><br/>
    		<input type="submit"value="提交">
    		</form>

package web;


import java.io.IOException;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

public class UploadServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		resp.setContentType("text/html");
		//实例化SmartUpload上传组件
		SmartUpload smart = new SmartUpload();
		//PageContext pageContext=JspFactory.getDefaultFactory().getPageContext(this, req, resp, null, true, 8192, true);
		//初始化上传操作
		smart.initialize(this.getServletConfig(),req,resp);
		smart.setMaxFileSize(1024*1024*10);
		smart.setAllowedFilesList("jpg,jpeg,bmp");
		//设置字符集
		smart.setCharset("gbk");
		//准备上传
		try {
			smart.setDeniedFilesList("exe,jsp,bat,html,,");
			smart.upload();
			Long time=new Date().getTime();
			String ext=smart.getFiles().getFile(0).getFileExt();//获取文件后缀 
			String filename=time+"."+ext;
			//smart.getFiles().getFile(0).saveAs( "/img/ "+filename);//保存在容器目录下
			String pa=this.getServletContext().getRealPath("/")+"img"+java.io.File.separator+filename;
			System.out.println(pa);
			
			smart.getFiles().getFile(0).saveAs(pa);
			//			smart.save("img");
			Request smartReq  =smart.getRequest();
			String name=smartReq.getParameter("name");
			resp.getWriter().println(name);
		} catch (Exception e) {
			e.printStackTrace();
		}
		//将上传的文件保存到项目根路径下的uploadfile目录中
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doPost(req, resp);
	}
}

<Context path="/web" docBase="D:\updemo\WebRoot"/>

在tomcat的host目录下设置,Context子标签,让上传的时候,同步上传到项目目录下!!!

posted on 2016-11-29 18:13  波波嘟  阅读(201)  评论(0编辑  收藏  举报