博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件上传与下载
阅读量:4556 次
发布时间:2019-06-08

本文共 5636 字,大约阅读时间需要 18 分钟。

文件上传与下载

a.使用 ajaxfileupload.js 完成文件上传

 

  js 方法

1 function ajaxFileUpload() 2 { 3      $("#loading_img").ajaxStart(function(){ 4          $(this).show();  //开始上传文件时显示一个图片 5      }).ajaxComplete(function(){ 6          $(this).hide();  //文件上传完成将图片隐藏起来 7      }); 8      9       $.ajaxFileUpload10       (11           {12               url:'FileUpLoadServlet',//用于文件上传的服务器端请求地址13               secureuri:false,//一般设置为false14               fileElementId:'file_ajax',//文件上传空间的id属性  15               dataType: 'json',//返回值类型 一般设置为json16               success: function (data, status)  //服务器成功响应处理函数17               {18                   //从服务器返回的json中取出message中的数据,其中message为在struts2中action中定义的成员变量19                   alert(data.message);20                   21                   if(typeof(data.error) != 'undefined')22                   {23                       if(data.error != '')24                       {25                           alert(data.error);26                       }else27                       {28                           alert(data.message);29                       }30                   }31               },32               error: function (data, status, e)//服务器响应失败处理函数33               {34                   alert(e);35               }36           }37       )38       39       return false;40 41 }

 

  HTML代码

1 2 3 

 

  java 部分的代码   (来源于网络,仅作参考)

 

 

1 package ajax.fileupload;  2   3 import java.io.File;  4 import java.io.IOException;  5 import java.io.PrintWriter;  6 import java.util.Iterator;  7 import java.util.List;  8   9 import javax.servlet.ServletConfig; 10 import javax.servlet.ServletContext; 11 import javax.servlet.ServletException; 12 import javax.servlet.http.HttpServlet; 13 import javax.servlet.http.HttpServletRequest; 14 import javax.servlet.http.HttpServletResponse; 15  16 import org.apache.commons.fileupload.FileItem; 17 import org.apache.commons.fileupload.FileUploadException; 18 import org.apache.commons.fileupload.disk.DiskFileItemFactory; 19 import org.apache.commons.fileupload.servlet.ServletFileUpload; 20  21 public class FileUpLoadServlet extends HttpServlet { 22      23      private static final long serialVersionUID = -7744625344830285257L; 24      private ServletContext sc; 25      private String savePath; 26  27      28     public FileUpLoadServlet() { 29         super(); 30     } 31  32     public void doGet(HttpServletRequest request, HttpServletResponse response) 33             throws ServletException, IOException { 34  35         doPost(request, response); 36     } 37  38     public void init(ServletConfig config) throws ServletException  39     { 40           // 在web.xml中设置的一个初始化参数 41           savePath = config.getInitParameter("savePath"); 42           sc = config.getServletContext(); 43     } 44      45     public void doPost(HttpServletRequest request, HttpServletResponse response) 46             throws ServletException, IOException { 47  48           request.setCharacterEncoding("UTF-8"); 49           response.setCharacterEncoding("UTF-8"); 50           DiskFileItemFactory factory = new DiskFileItemFactory(); 51           ServletFileUpload upload = new ServletFileUpload(factory); 52           try 53           { 54                List items = upload.parseRequest(request); 55                Iterator itr = items.iterator(); 56             57            while (itr.hasNext())  58            { 59                  FileItem item = (FileItem) itr.next(); 60                  if (item.isFormField())  61                  { 62                       System.out.println("表单参数名:" + item.getFieldName() + ",表单参数值:" + item.getString("UTF-8")); 63                  }  64                  else  65                  { 66                      if (item.getName() != null && !item.getName().equals("")) 67                      { 68                           System.out.println("上传文件的大小:" + item.getSize()); 69                           System.out.println("上传文件的类型:" + item.getContentType()); 70                           71                           // item.getName()返回上传文件在客户端的完整路径名称 72                           System.out.println("上传文件的名称:" + item.getName()); 73  74                           File tempFile = new File(item.getName()); 75  76                           //上传文件的保存路径 77                           File file = new File(sc.getRealPath("/") + savePath, tempFile.getName()); 78                           item.write(file); 79                            80                           PrintWriter out = response.getWriter(); 81                           out.println("{'message':'上传文件成功!'}"); 82                     } 83                     else 84                     { 85                           request.setAttribute("message", "没有选择上传文件!"); 86                     } 87                } 88            } 89           } 90           catch(FileUploadException e) 91           { 92               e.printStackTrace(); 93           } 94           catch (Exception e)  95           { 96               e.printStackTrace(); 97               request.setAttribute("message", "上传文件失败!"); 98           } 99           100           //request.getRequestDispatcher("/uploadResult.jsp").forward(request, response);101     }102     103 }

 

 需要引入的jar

 

    FileUpload下载地址:

  

  下载:commons-fileupload-1.2.2-bin.zip    得到:commons-fileupload-1.2.2.jar

  

  下载:commons-io-1.4-bin.zip       得到:commons-io-1.4.jar

   web.xml文件中需要配置

1  
2 .....3 4
5
6
savePath
7
uploads
8
9

  在tomcat的webapps目录下建 文件夹  uploads

  ......\webapps\UploadFile\uploads

  有进度条的文件上传

 

转载于:https://www.cnblogs.com/yiliweichinasoft/p/3387199.html

你可能感兴趣的文章
1035 插入与归并(25 分)
查看>>
STL中排序函数的用法(Qsort,Sort,Stable_sort,Partial_sort,List::sort)
查看>>
如何解决php 生成验证码图片不显示问题
查看>>
PHP,javascript实现大文件上传
查看>>
c#图像处理算法学习
查看>>
webApi之FromUri和FromBody区别
查看>>
【SoapUI】http接口测试
查看>>
各种工具网站
查看>>
数据库事务
查看>>
xe7 控件升级
查看>>
TFrame bug
查看>>
刚学习的如何才能自信的拍美美的婚纱照呢(要结婚啦)
查看>>
M51文件注释
查看>>
关于临界资源访问互斥量的死锁问题
查看>>
django-view层
查看>>
异步加载JS的方法。
查看>>
golang-gorm框架支持mysql json类型
查看>>
【tool】白盒测试
查看>>
图论其一:图的存储
查看>>
20180923-WebService
查看>>