zoukankan      html  css  js  c++  java
  • Struts2 + uploadify 多文件上传完整的例子!

    首先,我这里使用的是  Jquery  Uploadify3.2版本号


         导入相关的CSS  JS   

    <link rel="stylesheet" type="text/css" href="<%=basePath%>css/uploadify/uploadify.css">
         <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);" onclick="myUpload()">上传</a>
            <a href="javascript:$('#img_file').uploadify('cancel')">取消上传</a>  
        </p>  


    这里是最关键的 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, //设置为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',//上传文件最大值   单位为字节   2M
                         //返回一个错误。选择文件的时候触发
    				onSelectError:function(file, errorCode, errorMsg){
    					
    						 switch(errorCode) {
    								case -100:
                                      alert("上传的文件数量已经超出系统限制的4个文件!

    "); break; case -110: alert("文件 ["+file.name+"] 大小超出系统限制的2M大小。"); break; case -120: alert("文件 ["+file.name+"] 大小异常!

    "); break; case -130: alert("文件 ["+file.name+"] 类型不对!"); break; } }, // //上传到server,server返回对应信息到data里 onUploadSuccess:function(file, data, response){ var objs = eval('('+data+')'); var phtml = "<span><img style='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) { //这里是取消的时候发生 // $("#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()+"//"+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;
    	}
    


    <!-- 文件上传相关的 -->
    		 <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了   有什么不懂的能够评论问问。我会回复




    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
    STS工具各版本下载网址
    SpringBoot访问不了JSP但却能进入后台
    springboot o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [file:/D:/apache-maven-3.0.5[系统找不到指定路径]
    STS工具:mybayis连接oracle数据库
    springBoot怎样访问静态资源?+静态资源简介
    springboot注解
    8.12-14 df 、mkswap、swapon、swapoff、sync
    8.5-7 mkfs、dumpe2fs、resize2fs
    8.2-3 partprobe、tune2fs
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4640978.html
Copyright © 2011-2022 走看看