1、 /我用这个代表传文件,0-代表传图片 new Ext.SWFUpload(this.uploadfileConfig); else tmpuploadwin.show(); , tooltip: title:插入附件 text:在光标所在位置插入附件引用. cls:x-html-editor-tip )在需要的地方引用:xtype:htmleditorupload_url:处理文件上传后台保存的URL,file_size_limit:文件大小限制,file_upload_limit:上传文件数限制,del_datafile_url:删除已上传文件的URL,del_datafile_param
2、s:前面URL参数如task=bulletin_delfile,post_params:传文件时需要传的参数,关键字和值都用引号引起来,代码(放EXT-all-debug.js最后):Ext.SWFUpload = function(config) Ext.apply(this, config); var Application=; Application.uploadDialog = upload_win_id:this.upload_win_id, upload_type:this.upload_type, del_datafile_url:this.del_datafile_url, d
3、el_datafile_params:this.del_datafile_params, SingleUpload:false, /单个/多个文件上传模式 DeleteFileCount:0, /删除已上传文件次数,限制小于或等于允许上传的文件数file_upload_limit,防止反复删除上传 UploadSuccessCount:0, /真正上传到服务器上的文件数 FileMaxId:, /处理业务表的最大记录数 StopUpload:false, /停止上传标志 progressBarText:this.progressBarText, statuBarText:this.statuB
4、arText, upload_url:this.upload_url, file_size_limit :this.file_size_limit, file_types :this.file_types, file_types_description :this.file_types_description, file_upload_limit :this.file_upload_limit, file_queue_limit :this.file_queue_limit, button_image_url : this.button_image_url, button_placeholde
5、r_id : this.button_placeholder_id, button_width: this.button_width, button_height: this.button_height, button_cursor: this.button_cursor, button_window_mode: this.button_window_mode, flash_url:this.flash_url, post_params : this.post_params, custom_settings : this.custom_settings, debug: this.debug,
6、show:function() if(!this.dialog) this.initDialog(); this.uploadAction1.disable(); this.uploadAction2.disable(); this.uploadAction3.disable(); this.uploadAction4.disable(); this.uploadAction5.disable(); this.uploadAction6.disable(); this.uploadAction7.enable(); , ok: var rtnurl = var obj=Application.
7、uploadDialog; var store=obj.uploadGrid.store; var rowcount=store.getCount(); var fileexticon = doc:worddotrtfxlsexcelxltxlaxlwpdfdll pptpotppsppavsdvisiovssvstrarzipswfflashhtmhtmlmhtmhtmltxttextlogsqlexecombatbmppicturejpgjifjfifjpeggifpngemfinicfgrlewmfdibmidsoundmidimp3asfrm; for(var i = 0;irowco
8、unt;i+) var rec = store.getAt(i); if(rec.datauploaded=1) var filetype = rec.datafiletype.toLowerCase(); filetype = (fileexticonfiletype) ? fileexticonfiletype :unknow /rtnurl = rtnurl + img src=/resources/00/image/+filetype+.gif border=0a class=bulletin href=/bulletin/bulletin_readfile.html?file=+re
9、c.data+rec.data+.linkname span style=font-size:12px+Ext.util.Format.fileSize(rec.datasize)+/a/p rtnurl = rtnurl + javascript:void(0); onclick=fun_filedown(name=+encodeURIComponent(rec.datapath=) this.dialog.hide(); Ext.getCmp(this.dialog.id.substr(0,this.dialog.id.length - 10).insertAtCursor(rt
10、nurl); hide: deletefile:function(rec,store,obj) if(rec.data.uploaded=1) /删除上传成功的文件,需要删除数据库信息和服务器文件 if(obj.DeleteFileCount=obj.file_upload_limit) msgbox(E已达到上传文件删除次数限制! return false; var deltmpparams = obj.del_datafile_params+filepath=+rec.data.linkurl+filename=+rec.data.servername+fileext=+rec.data.
11、filetype; var delinfo = fun_sync_exec(obj.del_datafile_url,deltmpparams); delinfo = Ext.decode(delinfo); if(delinfo.state=false) /后台删除失败 rec.set(4errinfo,delinfo.info); mitChanges(); else /后台删除成功 obj.DeleteFileCount+; /增加删除次数 obj.UploadSuccessCount-; /减少真正上传数 obj.swfu.setStats(successful_uploads:obj
12、.UploadSuccessCount); /减少SWF真正上传数 obj.swfu.cancelUpload(rec.data.id,false); store.remove(rec); else /删除未上传或未成功的文件 obj.swfu.cancelUpload(rec.data.id,false); store.remove(rec); obj.stateInfo.getEl().innerHTML=String.format(obj.statuBarText,store.getCount(),Ext.util.Format.fileSize(store.sum(); if(stor
13、e.getCount()=0) store.removeAll(); obj.uploadProgressBar.updateProgress(0, obj.uploadProgressBar.updateText( obj.swfu.setButtonDisabled(false); obj.uploadAction1.disable(); obj.uploadAction2.disable(); obj.uploadAction3.disable(); obj.uploadAction4.disable(); obj.uploadAction5.disable(); obj.uploadA
14、ction6.disable(); return true; uploadAction: new Ext.Action(id:fileupload_selectfile_id), new Ext.Action(text:删除选择,iconCls:filedel,disabled:true,handler: var obj=Application.uploadDialog; var grid=obj.uploadGrid; if(!grid.selModel.hasSelection()W请先选择要删除的记录! return; var store=grid.store; var selectio
15、n=grid.getSelectionModel().getSelections(); for(var i=0;selection.length; var rec=store.getAt(store.indexOfId(selectioni.id); if(!obj.deletefile(rec,store,obj) return false; /删除 ),清空全部filecancel var store=obj.uploadGrid.store; var len=store.getCount();len; var rec=store.getAt(0);上传选择fileupselect obj
16、.SingleUpload = true; /单个上传模式请先选择要上传的记录! var rec=selection0; obj.swfu.startUpload(rec.data.id);上传全部fileupall obj.SingleUpload = false; /多个上传模式 obj.StopUpload = false; /取消停止标志 obj.swfu.startUpload();停止进程fileupstop obj.StopUpload = true; /设置停止标志 obj.swfu.stopUpload();确定ok,handler: Application.uploadDi
17、alog.ok();退出exit Application.uploadDialog.hide(); ) , initDialog: this.dialog=new Ext.Window(id:this.upload_win_id,iconCls:,animCollapse:false, layout:fit,width:640,height:370,title:附件上传.,closeAction:hide,border: modal:true,plain:true,closable:false,resizable:true,collapsible:true,maximizable:true,
18、bbar:this.uploadProgressBar=new Ext.ProgressBar(width:624), items: this.uploadGrid=new Ext.grid.EditorGridPanel( autoExpandColumn0:1,enableHdMenu:false,clicksToEdit:1,autoEncode:true,selModel:new Ext.grid.RowSelectionModel(singleSelect:true), tbar:this.uploadAction0,this.uploadAction1,this.uploadAct
19、ion2, ,this.uploadAction3,this.uploadAction4,this.uploadAction5,-,this.uploadAction6,this.uploadAction7, bbar:this.stateInfo=new Ext.Toolbar.TextItem(String.format(this.statuBarText,0,Ext.util.Format.fileSize(0), store: new Ext.data.SimpleStore(fields: autoidid, filereuploadcount,data:), columns: new Ext.grid.RowNumberer1(), header:文件名称200,dataIndex:,sortable:true,大小, width: 60,renderer:Ext.util.Format.fileSize,dataIndex:true,align:right,状态 70,dataIndex:,align:centertrue,renderer:function(_value)if(_valu
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1