Uploader样式:
1.引入自定义标签库-<%@tagliburi=\"controls\"prefix=\"z\"%>
2.在需要插入上面图片所示的控件的地方插入如下代码:
id:控件ID
width:控件宽(IE下填百分比有问题)
height:控件高(IE下填百分比有问题)
barcolor:进度条颜色,填六位RGB
action:文件上传地址
allowtype:允许选择的文件类型,后缀名用英文逗号隔开
onComplete:上传完毕后调用的js方法,注意不要括号
3.控件提供的可调用方法
addPostParam(values)
设置随文件上传一起提交的表单数据,使用方法为:
首先用vardc=Form.getData($F(\"表单名\"));取得表单内填写的数据;
然后使用getUploader(“控件ID”).addPostParam(dc.toQueryString());将参数添加;
doUpload()
开始上传,调用方法:getUploader(“控件ID”).doUpload();
isComplete()
文件是否上传完毕,该方法返回true或者false
调用方法:getUploader(“控件ID”).isComplete();
文件上传实例
1.在前端页面加一个附件上传的控件如下:
其中allowType表示可以上传文件的类型
2.在前端页面加一个functionupload(){}函数。例子如下:
functionupload(){
if(Verify.hasError()){
return;
}
varuploader=newUploader(\"File\");
if(!uploader.hasFile()){
Dialog.alert(\"未选择文件\");
}
if(!uploader.hasError()){
vardc=Form.getData(\"dialogForm\");
uploader.sendRequest(\"AddAttach.upload\",dc,function(response){
Dialog.alert(\"操作成功!\",function(){
Parent.DataGrid.loadData('grid');
Dialog.close();
});
});
}else{
Dialog.alert(\"上传控件发生错误!\");
}
}
这个函数是通过uploader.sendRequest();方法把文件传到后台。
3.后台写一个upload()方法接受前端页面的文件,提交并上传例子如下:
publicvoidupload(UploadActionua){
ZXOutProjectSchemaoutproject=newZXOutProjectSchema();
Transactiontran=newTransaction();
StringabsoluteCatalogPath=Config.getContextRealPath()+\"Upload\"+\"/\";
Stringext=ServletUtil.getUrlExtension(ua.getFile().getName());//后缀名
Stringname=NoUtil.getMaxID(\"ZXOutProjectID\")+ext;
Filenewfile=newFile(absoluteCatalogPath,name);
try{
ua.getFile().write(newfile);
}catch(Exceptione){
e.printStackTrace();
Response.setError(\"发生错误:\"+e.getMessage());
return;
}
if(ObjectUtil.empty($V(\"ID\"))){
outproject.setValue(Request);
outproject.setStatus(\"1\");
outproject.setAddTime(newDate());
outproject.setAddUser(User.getUserName());
outproject.setID(NoUtil.getMaxID(\"ZXOutProjectID\"));
outproject.setAttach(name);
tran.insert(outproject);
}else{
outproject.setID($V(\"ID\"));
outproject.fill();
outproject.setValue(Request);
outproject.setModifyTime(newDate());
outproject.setModifyUser(User.getUserName());
outproject.setAttach(name);
tran.update(outproject);
}
if(tran.commit()){
Response.setMessage(\"操作成功\");
}else{
Response.setError(\"发生错误:\"+tran.getExceptionMessage());
}
}
注意:upload()里面的参数是UploadActionua;ua.getFile().write(newfile);这段代码是把文件上传到指定的文件夹下面。
因篇幅问题不能全部显示,请点此查看更多更全内容