grails文件上传

  1. 1.后台controller代码  
  2.   
  3. /**  
  4.    * 文件上传  
  5.    */  
  6.   def importFile = {  
  7.     try {  
  8.       def f = request.getFile('uploadFiles')  
  9.       if(!f.empty){  
  10.           def fileName=f.getOriginalFilename() //得到文件名称  
  11.           String fileType = ".jpg";  
  12.           if(fileName!=null && fileName!=''){  
  13.               fileType = fileName.substring(fileName.indexOf(".")) //得到文件类型  
  14.           }  
  15.           def id = IDFactory.newId()  //创建文件ID  
  16.           def url=Constants.UPLOAD_PATH+id+fileType //文件上传的路径+文件名  
  17.           def file=new File(url)  
  18.           if(!file.exists()){  
  19.             file.mkdirs()//如果file不存在自动创建  
  20.           }  
  21.           f.transferTo(file) //上传  
  22.   
  23.           def path = id+'|'+fileName+'|'+url  
  24.   
  25.           render(path)  
  26.       }  
  27.     } catch (Exception e) {  
  28.         e.printStackTrace()  
  29.         render("")  
  30.     }   
  31.   }  
  32.   
  33.    
  34.   
  35. 2.前端gsp代码  
  36.   
  37. j.ajaxFileUpload({  
  38.    type : 'POST',  
  39.    secureuri : false,  
  40.    fileElementId:'fragment-2',  
  41.    url : '${contextPath}/fileUpload/importFile',  
  42.    success : function(data){  
  43.     if(data){  
  44.      createFileList(data);  
  45.      if(result){  
  46.       result = result + '#' + data;  
  47.      }else{  
  48.       result = data;  
  49.      }  
  50.                     j("#file1").val('');  
  51.                     alert('文件上传成功!');  
  52.     }  
  53.    },  
  54.    failure : function(data){  
  55.     alert('文件上传失败!');  
  56.    }  
  57.   });  
  58.   
  59.    
  60.   
  61. <div id="fragment-2"><input id="file1" type="file" onchange="addfile(this);" size="65" name="uploadFiles">  
  62. </td></div> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值