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="提 交" onclick="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 "";
 }

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值