grails文件上传

1.后台controller代码

/**
   * 文件上传
   */
  def importFile = {
    try {
      def f = request.getFile('uploadFiles')
      if(!f.empty){
          def fileName=f.getOriginalFilename() //得到文件名称
          String fileType = ".jpg";
          if(fileName!=null && fileName!=''){
              fileType = fileName.substring(fileName.indexOf(".")) //得到文件类型
          }
          def id = IDFactory.newId()  //创建文件ID
          def url=Constants.UPLOAD_PATH+id+fileType //文件上传的路径+文件名
          def file=new File(url)
          if(!file.exists()){
            file.mkdirs()//如果file不存在自动创建
          }
          f.transferTo(file) //上传

          def path = id+'|'+fileName+'|'+url

          render(path)
      }
    } catch (Exception e) {
        e.printStackTrace()
        render("")
    } 
  }

 

2.前端gsp代码

j.ajaxFileUpload({
   type : 'POST',
   secureuri : false,
   fileElementId:'fragment-2',
   url : '${contextPath}/fileUpload/importFile',
   success : function(data){
    if(data){
     createFileList(data);
     if(result){
      result = result + '#' + data;
     }else{
      result = data;
     }
                    j("#file1").val('');
                    alert('文件上传成功!');
    }
   },
   failure : function(data){
    alert('文件上传失败!');
   }
  });

 

<div id="fragment-2"><input id="file1" type="file" οnchange="addfile(this);" size="65" name="uploadFiles">
</td></div>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值