最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Struts2+uploadify多文件上傳實例

 更新時間:2018年08月29日 11:00:16   作者:Jaaaaaaaava  
這篇文章主要為大家詳細介紹了Struts2+uploadify多文件上傳實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Struts2+uploadify多文件上傳的具體代碼,供大家參考,具體內(nèi)容如下

首先我這里使用的是  Jquery  Uploadify3.2的版本

導入相關(guān)的CSS  JS  

<link rel="stylesheet" type="text/css" href="<%=basePath%>css/uploadify/uploadify.css" rel="external nofollow" >
<script src="<%=basePath%>js/jquery.min.js"></script>
<script src="<%=basePath%>js/uploadify/jquery.uploadify.min.js"></script>

接下來是  上傳的 JSP 頁面代碼

<form action="" method="post" >
  <input type="file" name="img_file" id="img_file">
  <div id="uploadfileQueue" ></div>
  <div id="imgs" ></div>
  <div id="dialog-message" ></div>
 </form>

  <p> 
  <a href="javascript:void(0);" rel="external nofollow" onclick="myUpload()">上傳</a>
  <a href="javascript:$('#img_file').uploadify('cancel')" rel="external nofollow" >取消上傳</a> 
 </p> 

這里是最關(guān)鍵的JS 代碼,有注釋

$(function(){
  $("#img_file").uploadify({
   auto:false,//是否自動上傳
  height: 30, 
    buttonText:'選擇圖片',
   cancelImage:'<%=basePath%>img/uploadify/uploadify-cancel.png',
  swf : '<%=basePath %>js/uploadify/uploadify.swf',
  // expressInstall:'js/uploadify/expressInstall.swf',
  uploader : '<%=basePath%>json/fileUploadAction.action', //后臺處理上傳文件的action 
  width : 120 ,
    'multi': true, //設(shè)置為true將允許多文件上傳 
    'filesSelected': '4',
    queueID:'uploadfileQueue',
  fileObjName:'img_file', //與后臺Action中file屬性一樣
     /*
     formData:{ //附帶值  
  'userid':'111',
  'username':'tom', 
   'rnd':'111'
  },
        */
    fileTypeDesc:'上傳文件支持的文件格式:jpg,jpge,gif,png',
 fileTypeExts:'*.jpg;*.jpge;*.gif;*.png',//*.jpg;*.jpge;*.gif;*.png
 queueSizeLimit : 4,//只能一次上傳4張圖片 
 // simUploadLimit:1,//一次可以上傳1個文件
 fileSizeLimit:'2097152',//上傳文件最大值 單位為字節(jié) 2M
      //返回一個錯誤,選擇文件的時候觸發(fā)
 onSelectError:function(file, errorCode, errorMsg){
  
  switch(errorCode) {
  case -100:
         alert("上傳的文件數(shù)量已經(jīng)超出系統(tǒng)限制的4個文件!");
         break;
        case -110:
         alert("文件 ["+file.name+"] 大小超出系統(tǒng)限制的2M大??!");
         break;
        case -120:
         alert("文件 ["+file.name+"] 大小異常!");
         break;
        case -130:
         alert("文件 ["+file.name+"] 類型不正確!");
         break;
       }
      }, //
      //上傳到服務器,服務器返回相應信息到data里
      onUploadSuccess:function(file, data, response){
      var objs = eval('('+data+')');
  var phtml = "<span><img style='width:150;height:150' src='/uploads/"+objs.filename+"'></span>";
  if($("#imgs span").length==0){
       $("#imgs").html(phtml);
      }else{
       $("#imgs span:last").after(phtml);
      }
  },
      onSelect : function(file) {
      //alert(file.name);   
      },
      //removeCompleted:true,//上傳的文件進度條是否消失
      requeueErrors:false,
      // removeTimeout:2,//進度條消失的時間,默認為3
      progressData:"percentage",//顯示上傳的百分比
      onUploadError : function(file,errorCode,errorMsg,errorString,swfuploadifyQueue) { //這里是取消的時候發(fā)生 
      // $("#dialog-message").html(errorString); 
      } 
  });
  
  });
  
  //上傳文件
  function myUpload(){
  $("#img_file").uploadify('upload','*'); 
  }

java 上傳的Action 代碼

/**
 * 上傳文件的Action
 * @author wzh
 *
 */
@Controller
@Scope("prototype")
public class FileUploadAction extends BaseAction {
 private File img_file;
 private String img_fileContentType;//格式同上"fileName"+ContentType 
 private String img_fileFileName;//格式同上"fileName"+FileName 
 private String savePath;//文件上傳后保存的路徑
 private Map<String, Object> dataMap = new HashMap<String, Object>();
 
 @Override
 /***
 * 上傳文件
 */
 public String execute() throws Exception{
 
 System.out.println("savePath"+getSavePath());
 
 File dir=new File(getSavePath()); 
 System.out.println(dir.getAbsolutePath());
 
 //判斷是否存在路徑
   if(!dir.exists()){ 
    dir.mkdirs(); 
   } 
   
   //當前上傳的文件
   File file=getImg_file();
   //獲得后綴
   String ext =FileUtil.getExtensionName(getImg_fileFileName()); 
   String newFileName = UUID.randomUUID()+ext;
    FileOutputStream fos=new FileOutputStream(getSavePath()+"http://"+newFileName); 
    FileInputStream fis=new FileInputStream(getImg_file()); 
    byte []buffers=new byte[1024]; 
    int len=0; 
    while((len=fis.read(buffers))!=-1){ 
     fos.write(buffers,0,len); 
    } 
 
    fos.close();
    fis.close();
 
   // String uploadFileName = getImg_fileFileName();
    dataMap.put("filename",newFileName);
 
 return SUCCESS;
 }
<!-- 文件上傳相關(guān)的 -->
 <action name="fileUploadAction" class="fileUploadAction">
  <param name="savePath">E:/Tomcat6.0/webapps/uploads</param> 
  <result type="json">
 <param name="root">dataMap</param>
 </result>
</action>

配置完以上的基本就OK了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java掩碼的幾種使用例舉

    Java掩碼的幾種使用例舉

    今天小編就為大家分享一篇關(guān)于Java掩碼的使用,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java異常處理之java.lang.ClassCastException問題

    Java異常處理之java.lang.ClassCastException問題

    這篇文章主要介紹了Java異常處理之java.lang.ClassCastException問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • java線程間通訊的一些方法總結(jié)

    java線程間通訊的一些方法總結(jié)

    這篇文章主要介紹了java線程間通訊的一些方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • java 抽象類與接口的區(qū)別總結(jié)

    java 抽象類與接口的區(qū)別總結(jié)

    這篇文章主要介紹了java 抽象類與接口的區(qū)別總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java實現(xiàn)下載文件的6種方式

    Java實現(xiàn)下載文件的6種方式

    本文主要介紹了Java實現(xiàn)下載文件的6種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Java中springboot搭建html的操作代碼

    Java中springboot搭建html的操作代碼

    這篇文章主要介紹了Java中springboot搭建html的相關(guān)操作,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 分享幾個Java工作中實用的代碼優(yōu)化技巧

    分享幾個Java工作中實用的代碼優(yōu)化技巧

    這篇文章主要給大家分享幾個Java工作中實用代碼優(yōu)化技巧,文章基于Java的相關(guān)資料展開對其優(yōu)化技巧的分享,需要的小伙伴可以參考一下
    2022-04-04
  • Spring Boot Mybatis++ 2025詳解

    Spring Boot Mybatis++ 2025詳解

    文章介紹了三種基于注解SQL和查詢接口的MyBatis使用方式,討論了Entity和Example的區(qū)別,即Entity會更新所有字段,而Example僅更新非空字段,感興趣的朋友一起看看吧
    2025-02-02
  • Java 從Set里面取出有序的記錄詳解及實例

    Java 從Set里面取出有序的記錄詳解及實例

    這篇文章主要介紹了Java 從Set里面取出有序的記錄詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java使用JDBC實現(xiàn)Oracle用戶認證的方法詳解

    Java使用JDBC實現(xiàn)Oracle用戶認證的方法詳解

    這篇文章主要介紹了Java使用JDBC實現(xiàn)Oracle用戶認證的方法,結(jié)合實例形式分析了java使用jdbc實現(xiàn)數(shù)據(jù)庫連接、建表、添加用戶、用戶認證等操作流程與相關(guān)注意事項,需要的朋友可以參考下
    2017-08-08

最新評論

莒南县| 无锡市| 印江| 高唐县| 谢通门县| 阳信县| 兴安县| 邯郸县| 闽清县| 中山市| 黔江区| 舟曲县| 花莲县| 武汉市| 石首市| 彭泽县| 昔阳县| 五寨县| 绿春县| 云南省| 合川市| 泸定县| 柘荣县| 石林| 师宗县| 什邡市| 乐安县| 凌海市| 连山| 丘北县| 宝山区| 略阳县| 宜昌市| 呼和浩特市| 沽源县| 吉水县| 鹤岗市| 铜梁县| 晋城| 十堰市| 沧州市|