浅析AjaxFileUpload+Struts2实现多文件上传功能

来源:爱站网时间:2019-07-24编辑:网友分享
在Struts下有很多不需要刷新就可以上传文件的方法,但是我使用的是Ajax文件上传,爱站技术频道小编为大家浅析AjaxFileUpload+Struts2实现多文件上传功能,希望对你学习有帮助!

Struts下有很多不需要刷新就可以上传文件的方法,但是我使用的是Ajax文件上传,爱站技术频道小编为大家浅析AjaxFileUpload+Struts2实现多文件上传功能,希望对你学习有帮助!

单文件和多文件的实现区别主要修改两点,

一是插件ajaxfileupload.js里接收file文件ID的方式

二是后台action是数组形式接收

1、ajaxFileUpload文件下载地址http://www.phpletter.com/Demo/AjaxFileUpload-Demo/

2、引入jquery-1.8.0.min.js、ajaxFileUpload.js文件

3、文件上传页面核心代码

 
  

多文件上传

以上fileElementId属性接收的files参数为['file1','file2','file3']

由于是多文件,所以我们需要修改ajaxfileupload.js 找到以下代码

var oldElement = jQuery('#' + fileElementId); 
var newElement = jQuery(oldElement).clone(); 
jQuery(oldElement).attr('id', fileId); 
jQuery(oldElement).before(newElement); 
jQuery(oldElement).appendTo(form); 

修改为:

for(var i in fileElementId){  
  var oldElement = jQuery('#' + fileElementId[i]);  
  var newElement = jQuery(oldElement).clone();  
  jQuery(oldElement).attr('id', fileId);  
  jQuery(oldElement).before(newElement);  
  jQuery(oldElement).appendTo(form);  
}  

4、文件上传Action

public class FileAction { 
  private File[] file;       //文件  
  private String[] fileFileName;  //文件名   
  private String[] filePath;    //文件路径 
  private String downloadFilePath; //文件下载路径 
  private InputStream inputStream;  
  /** 
   * 文件上传 
   * @return 
   */ 
  public String fileUpload() { 
    String path = ServletActionContext.getServletContext().getRealPath("/upload"); 
    File file = new File(path); // 判断文件夹是否存在,如果不存在则创建文件夹 
    if (!file.exists()) { 
      file.mkdir(); 
    } 
    try { 
      if (this.file != null) { 
        File f[] = this.getFile(); 
        filePath = new String[f.length]; 
        for (int i = 0; i 

5、struts配置

 
 
   
     
     
       
        text/html 
       
     
   
   
        
       
         
         application/octet-stream   
         inputStream   
         attachment;filename=${fileName}   
         4096   
         
      
   
 

浏览器中输入:http://localhost:8080/struts_ajaxfileupload/index.jsp  即可进行文件上传

如图:

以上就是爱站技术频道小编介绍的关于浅析AjaxFileUpload+Struts2实现多文件上传功能,相信大家看完后心中都有自己的想法了,如果觉得这篇文章不错,可以多多推荐给身边的朋友哦。

上一篇:ajax之数据删除、查看详情功能的操作步骤

下一篇:CORS实现WebApi Ajax 跨域请求解决方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载