婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能

AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能

熱門標簽:荊州智能電銷機器人 平?jīng)龈叩碌貓D標注商戶要收費嗎 提高電話機器人接通率 福建微碼電話機器人 廣西智能外呼系統(tǒng)多少錢 地圖標注與公司業(yè)務(wù)關(guān)系 大學(xué)校門地圖標注 外呼系統(tǒng)api對接 銷售電銷機器人詐騙

本文重點給大家介紹AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能,具體實現(xiàn)代碼大家參考下本文。

單文件和多文件的實現(xiàn)區(qū)別主要修改兩點,

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

二是后臺action是數(shù)組形式接收

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

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

3、文件上傳頁面核心代碼

body> 
  form action="" enctype="multipart/form-data"> 
    h2> 
      多文件上傳 
    /h2> 
    input type="file" id="file1" name="file" /> 
    /br> 
    input type="file" id="file2" name="file" /> 
    /br> 
    input type="file" id="file3" name="file" /> 
    /br> 
    span> 
      table id="down"> 
      /table> 
    /span> 
    /br> 
    input type="button" onclick="fileUpload();" value="上傳"> 
  /form> 
/body> 
script type="text/javascript"> 
  function fileUpload() { 
    var files = ['file1','file2','file3']; //將上傳三個文件 ID 分別為file2,file2,file3 
    $.ajaxFileUpload( { 
      url : 'fileUploadAction',   //用于文件上傳的服務(wù)器端請求地址  
      secureuri : false,      //一般設(shè)置為false  
      fileElementId : files,    //文件上傳的id屬性 input type="file" id="file" name="file" />  
      dataType : 'json',      //返回值類型 一般設(shè)置為json  
      success : function(data, status) { 
        var fileNames = data.fileFileName; //返回的文件名  
        var filePaths = data.filePath;   //返回的文件地址  
        for(var i=0;idata.fileFileName.length;i++){ 
          //將上傳后的文件 添加到頁面中 以進行下載 
          $("#down").after("tr>td height='25'>"+fileNames[i]+ 
              "/td>td>a href='downloadFile?downloadFilePath="+filePaths[i]+"'>下載/a>/td>/tr>") 
        } 
      } 
    }) 
  } 
/script> 

以上fileElementId屬性接收的files參數(shù)為['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); // 判斷文件夾是否存在,如果不存在則創(chuàng)建文件夾 
    if (!file.exists()) { 
      file.mkdir(); 
    } 
    try { 
      if (this.file != null) { 
        File f[] = this.getFile(); 
        filePath = new String[f.length]; 
        for (int i = 0; i  f.length; i++) { 
          String fileName = java.util.UUID.randomUUID().toString(); // 采用時間+UUID的方式隨即命名 
          String name = fileName + fileFileName[i].substring(fileFileName[i].lastIndexOf(".")); //保存在硬盤中的文件名 
          FileInputStream inputStream = new FileInputStream(f[i]); 
          FileOutputStream outputStream = new FileOutputStream(path+ "\\" + name); 
          byte[] buf = new byte[1024]; 
          int length = 0; 
          while ((length = inputStream.read(buf)) != -1) { 
            outputStream.write(buf, 0, length); 
          } 
          inputStream.close(); 
          outputStream.flush(); 
          //文件保存的完整路徑 
          // 如:D:\tomcat6\webapps\struts_ajaxfileupload\\upload\a0be14a1-f99e-4239-b54c-b37c3083134a.png 
          filePath[i] = path + "\\" + name; 
        } 
      } 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
    return "success"; 
  } 
  /** 
   * 文件下載 
   * @return 
   */ 
  public String downloadFile() { 
    String path = downloadFilePath; 
    HttpServletResponse response = ServletActionContext.getResponse(); 
    try { 
      // path是指欲下載的文件的路徑。 
      File file = new File(path); 
      // 取得文件名。 
      String filename = file.getName(); 
      // 以流的形式下載文件。 
      InputStream fis = new BufferedInputStream(new FileInputStream(path)); 
      byte[] buffer = new byte[fis.available()]; 
      fis.read(buffer); 
      fis.close(); 
      // 清空response 
      response.reset(); 
      // 設(shè)置response的Header 
      String filenameString = new String(filename.getBytes("gbk"),"iso-8859-1"); 
      response.addHeader("Content-Disposition", "attachment;filename="+ filenameString); 
      response.addHeader("Content-Length", "" + file.length()); 
      OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); 
      response.setContentType("application/octet-stream"); 
      toClient.write(buffer); 
      toClient.flush(); 
      toClient.close(); 
    } catch (IOException ex) { 
      ex.printStackTrace(); 
    } 
    return null; 
  } 
  /** 
   * 省略set get方法 
   */ 
} 

5、struts配置

!DOCTYPE struts PUBLIC  
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
  "http://struts.apache.org/dtds/struts-2.0.dtd"> 
struts> 
  package name="ajax_code" extends="json-default"> 
    !-- 文件上傳 --> 
    action name="fileUploadAction" class="com.itmyhome.FileAction" method="fileUpload"> 
      result type="json" name="success"> 
        param name="contentType">text/html/param> 
      /result> 
    /action> 
  /package> 
  package name="jsp_code" extends="struts-default"> 
    !-- 文件下載 -->    
    action name="downloadFile" class="com.itmyhome.FileAction" method="downloadFile">   
      result type="stream">   
         param name="contentType">application/octet-stream/param>   
         param name="inputName">inputStream/param>   
         param name="contentDisposition">attachment;filename=${fileName}/param>   
         param name="bufferSize">4096/param>   
      /result>   
    /action>  
  /package> 
/struts> 

瀏覽器中輸入:http://localhost:8080/struts_ajaxfileupload/index.jsp  即可進行文件上傳

如圖:

項目源碼下載:http://demo.jb51.net/js/2017/struts_ajaxfileupload.rar

總結(jié)

以上所述是小編給大家介紹的AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • 基于jquery ajax的多文件上傳進度條過程解析
  • 利用SpringMVC和Ajax實現(xiàn)文件上傳功能
  • PHP實現(xiàn)帶進度條的Ajax文件上傳功能示例
  • php+ajax 文件上傳代碼實例
  • AjaxUpLoad.js實現(xiàn)文件上傳
  • AjaxUpLoad.js實現(xiàn)文件上傳功能
  • php+ajax實現(xiàn)無刷新文件上傳功能(ajaxuploadfile)
  • ajaxFileupload實現(xiàn)多文件上傳功能
  • AjaxFileUpload結(jié)合Struts2實現(xiàn)多文件上傳(動態(tài)添加文件上傳框)
  • Ajax實現(xiàn)文件上傳功能(Spring MVC)

標簽:婁底 黔東 邯鄲 樂山 德陽 內(nèi)江 衡陽 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能》,本文關(guān)鍵詞  AjaxFileUpload+Struts2,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于AjaxFileUpload+Struts2實現(xiàn)多文件上傳功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区调教| 欧美激情一区在线| 午夜伊人狠狠久久| 亚洲成人777| 日本亚洲三级在线| 国产一区二区三区四区在线观看| 国内久久婷婷综合| 色香蕉成人二区免费| 91成人国产精品| 欧美v国产在线一区二区三区| 久久网这里都是精品| 国产精品伦理一区二区| 亚洲国产精品人人做人人爽| 老司机精品视频在线| 97精品超碰一区二区三区| 欧美日精品一区视频| 国产日韩亚洲欧美综合| 亚洲高清久久久| 粉嫩av亚洲一区二区图片| 制服丝袜亚洲网站| 亚洲一区二区三区视频在线播放 | 91麻豆精品国产91久久久久久| 日韩天堂在线观看| 五月天国产精品| 97精品国产97久久久久久久久久久久 | 欧美三区在线视频| 综合色天天鬼久久鬼色| 狠狠色狠狠色综合系列| 欧美日韩日本视频| 亚洲精品va在线观看| 成人黄色av电影| 中文字幕精品一区| 成人h动漫精品一区二区| 久久久久久99精品| 国产凹凸在线观看一区二区| 欧美电影精品一区二区| 日本sm残虐另类| 日韩欧美在线1卡| 日韩av网站在线观看| 欧美高清精品3d| 免费的成人av| 欧美激情综合五月色丁香| 国产精品中文字幕欧美| 中文字幕综合网| 91啪亚洲精品| 丝袜诱惑亚洲看片| 久久精品日韩一区二区三区| 成人av在线资源| 日韩国产欧美在线观看| 国产精品视频一区二区三区不卡| 成人sese在线| 日韩精品国产欧美| 久久久久久黄色| 精品视频1区2区| 久久99最新地址| 亚洲国产精品欧美一二99| 91精品国产品国语在线不卡| 国产一区二区免费看| 一区二区高清免费观看影视大全| 欧美精品电影在线播放| 99九九99九九九视频精品| 日韩国产在线一| 国产精品乱人伦| 日韩欧美国产一二三区| 欧美三级三级三级爽爽爽| 成人午夜免费av| 国产一区日韩二区欧美三区| 亚洲国产精品久久久久秋霞影院| 欧美激情一区二区三区不卡| 欧美高清视频www夜色资源网| 91网站最新地址| 北条麻妃国产九九精品视频| 国产精品亚洲视频| 国产精品资源在线看| 亚洲国产另类av| 亚洲免费在线看| 国产精品福利一区二区三区| 久久久精品综合| 日韩精品综合一本久道在线视频| 欧美日韩精品一区视频| 色婷婷国产精品| 99久久国产综合精品色伊| 色综合天天综合色综合av| 91亚洲大成网污www| 欧美亚洲动漫精品| 欧美一区二区在线播放| 亚洲乱码一区二区三区在线观看| 久久av中文字幕片| 亚洲综合久久av| 午夜伦理一区二区| 视频一区国产视频| 久久综合狠狠综合久久激情 | 国产精品中文字幕一区二区三区| 国内外成人在线视频| 国产精品88888| 日韩一本二本av| 日韩欧美在线观看一区二区三区| 日韩亚洲欧美在线| 国产欧美精品一区aⅴ影院 | 亚洲一区二区精品视频| 国产精品欧美一级免费| 午夜久久久久久| 91啪在线观看| 日韩美女在线视频| 亚洲精选一二三| 91色乱码一区二区三区| 欧美大度的电影原声| 国产精品久久久久久久久久久免费看 | 国产91精品一区二区麻豆亚洲| 成人免费的视频| 日韩欧美的一区二区| 亚洲自拍偷拍网站| 99久久婷婷国产综合精品电影 | 欧美日韩国产美女| 国产精品久久777777| 国产福利精品一区| 久久日韩精品一区二区五区| 琪琪一区二区三区| 91精品国产91久久久久久最新毛片| 午夜影视日本亚洲欧洲精品| 欧美日韩在线播放| 一区二区欧美精品| 欧美精品乱人伦久久久久久| 亚洲国产高清aⅴ视频| 国产91在线|亚洲| 国产精品久久久久婷婷| 91丨九色丨蝌蚪丨老版| 午夜欧美在线一二页| 日韩精品一区二区三区蜜臀 | 久久精品国产秦先生| 欧美日韩国产综合一区二区三区| 一区二区日韩电影| 久久综合九色综合欧美就去吻| 久久66热偷产精品| 成人av电影在线网| 欧美成人性福生活免费看| 亚洲一区在线视频| 国产午夜一区二区三区| 色八戒一区二区三区| 午夜精品一区二区三区三上悠亚| 欧美成人性福生活免费看| 成人aaaa免费全部观看| 奇米亚洲午夜久久精品| 亚洲精品一区二区在线观看| 成a人片亚洲日本久久| 日韩成人一区二区| 国产精品人成在线观看免费| 色哟哟欧美精品| 国产白丝精品91爽爽久久| 国产一区二区三区精品欧美日韩一区二区三区 | 国产一区三区三区| 日韩精品亚洲一区| 自拍偷拍亚洲欧美日韩| 久久精品人人爽人人爽| 国产综合色视频| 国产不卡视频一区| 麻豆传媒一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 亚洲国产一区视频| 亚洲一卡二卡三卡四卡| 亚洲图片欧美综合| 亚洲电影在线播放| 一区二区三区在线播放| 亚洲午夜在线视频| 免费精品视频最新在线| 久久成人免费电影| 日韩精品欧美成人高清一区二区| 日韩专区中文字幕一区二区| 石原莉奈在线亚洲三区| 蜜桃视频第一区免费观看| 成人avav在线| 一本大道久久a久久综合婷婷| 99久久综合色| 欧美日免费三级在线| 欧美第一区第二区| 国产精品久久二区二区| 亚洲午夜三级在线| 国内成人免费视频| 91一区在线观看| 91精品国产综合久久久久久 | 国产黄人亚洲片| 91视频国产资源| 久久亚洲一级片| 亚洲国产欧美日韩另类综合| 久久99国产精品麻豆| 91国产视频在线观看| 久久久五月婷婷| 亚洲精品国产品国语在线app| 久久精品国产99久久6| 91国偷自产一区二区使用方法| 精品播放一区二区| 午夜免费欧美电影| 8x福利精品第一导航| 亚洲欧美视频一区| 国产69精品久久777的优势| 91精品国产免费久久综合| 亚洲一区中文日韩| 欧美日韩视频在线观看一区二区三区| 精品久久久久久综合日本欧美 | 日韩欧美亚洲一区二区|