java 文件上传相关知识及得到后缀名

文件上传功能是最基本的,所以需要真正的掌握

 

=========文件上传功能================

@Property
    private UploadedFile file;

 @Inject 
   private ApplicationGlobals globals; 

//获得绝对路径
  String path = globals.getServletContext().getRealPath("/images/person/head");

 File copied = new File(path +"/"+ file.getFileName());
  file.write(copied);  //写入项目

 

 

-===========js=============

function fileBtn(){
 
 var file=document.getElementById("file").value;
 //var houzui=kzName(file);
 
 //获取文件后缀名并转成小写
    var ext=file.substring(file.lastIndexOf(".")).toLowerCase(); 
   
    if( file.value==""){
      alert("请选择上传的图片"); 
      return false;
    }else{
     if(ext!=".gif" && ext!=".jpg" && ext!=".jpeg" && ext!=".bmp") { 
        alert("此图片类型不支持:[ "+ext+" ]"); 
        return false; 
     } 
    }

 return true;
}
//获取后缀名
function kzName(u)
{
var s = /.[^.]+$/.exec(u);
return (s!=null)?s[0]:null;
}

 

=============file.tml================

<div id="fileDiv">
  <t:form>
   图片上传: 
         <input t:type="upload" t:id="file" name="file" size="10"/>
       <input type="submit" value="提 交" οnclick="return fileBtn();"/>
     </t:form>

     <!-- 用来提示信息 -->
      <div><span style="color:red" id="errormsg"><t:if t:test="errorCode">${errorMsg}</t:if></span></div>
      </div>

 

===============file.java===相关代码=============

@Property
    private UploadedFile file;
 @Persist(PersistenceConstants.FLASH)
 @Property
 private String message;
 @Inject
 private Messages messages;
 @Property
 @Persist(value="flash")
 private int errorCode;

 

 Object onUploadException(FileUploadException ex)
    {
        message = "Upload exception: " + ex.getMessage();

        return this;
    }

//用来在页面做提示信息

public String getErrorMsg(){
  
  switch (errorCode) {
  case 1:
   return messages.get("fileNameMsg");
  case 2:
   return messages.get("fileSuccess");

  default:
   break;
  }
  return "";
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值