Uploader说明
Uploader 样式:
1. 引入自定义标签库 - <%@ taglib uri="controls" prefix="z"%>
2. 在需要插入上面图片所示的控件的地方插入如下代码:
<z:upload id="FlashObject" width="300" height="25” barcolor="FF6600” action="../Editor/filemanager/upload/simpleuploader.jsp" allowtype="txt,jpg" onComplete="hello" />
id:控件ID
width:控件宽(IE下填百分比有问题)
height:控件高(IE下填百分比有问题)
barcolor:进度条颜色,填六位RGB
action:文件上传地址
allowtype:允许选择的文件类型,后缀名用英文逗号隔开
onComplete:上传完毕后调用的js方法,注意不要括号
3. 控件提供的可调用方法
addPostParam(values)
设置随文件上传一起提交的表单数据,使用方法为:
首先用var dc = Form.getData($F("表单名")); 取得表单内填写的数据;
然后使用 getUploader(“控件ID”).addPostParam(dc. toQueryString()); 将参数添加;
doUpload()
开始上传,调用方法:getUploader(“控件ID”). doUpload();
isComplete()
文件是否上传完毕,该方法返回true或者false
调用方法:getUploader(“控件ID”). isComplete();
文件上传实例
1.在前端页面加一个附件上传的控件如下:
<z:uploader width="300" id="File" allowType="*" />
其中allowType表示可以上传文件的类型
2. 在前端页面加一个function upload(){}函数。例子如下:
function upload(){
if(Verify.hasError()){
return;
}
var uploader = new Uploader("File");
if(!uploader.hasFile()){
Dialog.alert("未选择文件");
}
if(!uploader.hasError()){
var dc = 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()方法接受前端页面的文件,提交并上传 例子如下:
public void upload(UploadAction ua) {
ZXOutProjectSchema outproject = new ZXOutProjectSchema();
Transaction tran = new Transaction();
String absoluteCatalogPath = Config.getContextRealPath() + "Upload" + "/";
String ext = ServletUtil.getUrlExtension(ua.getFile().getName()); // 后缀名
String name= NoUtil.getMaxID("ZXOutProjectID")+ext;
File newfile = new File(absoluteCatalogPath,name);
try {
ua.getFile().write(newfile);
} catch (Exception e) {
e.printStackTrace();
Response.setError("发生错误:" + e.getMessage());
return;
}
if (ObjectUtil.empty($V("ID"))) {
outproject.setValue(Request);
outproject.setStatus("1");
outproject.setAddTime(new Date());
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(new Date());
outproject.setModifyUser(User.getUserName());
outproject.setAttach(name);
tran.update(outproject);
}
if (tran.commit()) {
Response.setMessage("操作成功");
} else {
Response.setError("发生错误:" + tran.getExceptionMessage());
}
}
注意:upload()里面的参数是UploadAction ua;ua.getFile().write(newfile);这段代码是把文件上传到指定的文件夹下面。
|
所有评论仅代表网友意见