文件上传功能是最基本的,所以需要真正的掌握
=========文件上传功能================
@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 "";
}