AjaxFileUpload实现文件上传
Ajax实现文件上传需要两个jar包:commons-fileupload-1.3.1.jar,commons-io-2.4.jar 和两个js文件ajaxfileupload.js,jquery.js 实例: ajaxFileUpload.jsp <script type="text/javascript" src="source/jquery.js"></script>
AjaxFileUpload.java package controller; 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 FileUploadAjax extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { System.out.println("----------------"); request.setCharacterEncoding("utf-8"); // 设置编码 response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); DiskFileItemFactory dfif=new DiskFileItemFactory(); ServletFileUpload sfl=new ServletFileUpload(dfif); String path=request.getSession().getServletContext().getRealPath("file"); System.out.println(path); String name=null; try { List<FileItem> list=sfl.parseRequest(request); System.out.println(list.size()); for(FileItem fi:list) { if(!fi.isFormField()) { File file=new File(path,fi.getName()); fi.write(file); System.out.println("ok--------------------"); }else{ name=fi.getString(); System.out.println(name+"00000000000000000"); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ PrintWriter pw=response.getWriter(); String result="{"name":""+name+""}"; System.out.println(result); pw.println(result); pw.flush(); } } public void doPost(HttpServletRequest request,IOException { this.doGet(request,response); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |