123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
-
- Namespace.register("U.CD.O"); //注册杂项js,以后再归类。
- //编辑器上传大小后台设置为10M。
- //上传项目图片
- U.CD.O.UPFile = function (SO) {
- var _PSO = SO.parentNode;
- //和论坛,博客上传一样,到临时目录。
- U.UP.uploading([SO], U.CD.O.UPFileAsyn, (["UCD_UP"]), "http://disk.1473.cn/USupfile.ashx?iframename=UseStudioEditor", true); //上传图片的异步处理
- _PSO.appendChild(SO);
- }
- //发布项目上传回调
- U.CD.O.UPFileAsyn = function (request) {
- var SO = request.context[0];
- request = request.value;
- if (request != null && isNaN(request[0])) {
- //if (context[0] == "headimg") { U.U.CP(request); }
- //else { U.Img.Create({ "Thm": request[0], "Img": request[0] }); }
- var _i = $("#UCD_FB_NR_IMG")[0];
- _i.src = US.fs + request[0]; //request[2]保存的缩略图 request[0]保存的是原图
- _i.title = US.fs + request[0];
- _i.style.cssText = "width:100%;height:100%;margin-left:0;border:0";
- _i.onclick = U.M.apply(this, [[U.M.StopBubble], [U.Img.Create, [([{ 'Thm': US.fs + request[2], 'Img': US.fs + request[0]}])]]]);
- }
- else { alert("你现在使用图片大小是:" + request[0] + "KB,已经超过50KB,请重新选择图片不超过50KB!"); }
- }
- //--------------------------------------------右侧树目录上传文件-----------------------------------
- //上传文件 优化版
- /*
- 存储模块与ufrom接口对接测试优化代码区域
- 实现了跨域存储文件, 方便调试 、代码简短速度快
- 源代码优化版本
- Namespace.register("U.UP");
- //上传变量
- U.UP.FTF = { "WH": {}, "FT": {}, "TF": false, "GS": "*", "EL": "" }
- /ml input上传
- U.UP.uploading = function (UDE, UCB, UCT, UAC, UTF) { //生成传输的iframe
- if (UDE.length > 0) {
- var _UDBD = document.body, _UFID = Guid.guidNoDash();
- U.M.IFO($$("iframe", { "id": _UFID, "name": _UFID, "width": 0, "height": 0, "style": { "display": "none" }, "frameBorder": 0 }, _UDBD), "", [[U.UP.uploadingA, ([UDE, UCB, UCT, UAC, UTF, _UFID])]]); //生成可访问的iframe
- }
- }
- //执行上传
- U.UP.uploadingA = function (UDE, UCB, UCT, UAC, UTF, UFID) {
- this.contentWindow.name = UFID; UDE = U.M.isArray(UDE) ? UDE : Array.prototype.slice.apply(UDE); UAC = UAC + (UAC.indexOf("?") > -1 ? "" : "?") + ((US && US.userinfo && US.userinfo.UserId) || US.userinfo.UserId ? "&UserId=" + (US.userinfo.UserId || US.userinfo.UserId) : "");
- var i = 0, _UL = UDE.length, _UCE = [], _UCB = UCB, _UDBD = document.body, _URE = { "UpObj": UDE, "context": UCT, "value": "" }, _UDFD = $$("form", { "action": UAC, "target": UFID, "encoding": "multipart/form-data", "enctype": "multipart/form-data", "method": "post", "name": "loading", "style": { "display": "none"} }, _UDBD);
- (UTF) && (_UL = 1, _URE["UpObj"] = UDE.splice(0, 1), _UCB = U.M.apply(this, [[UCB, ([_URE])], [U.UP.uploading, ([UDE, UCB, UCT, UAC, UTF])]])); UDE = _URE["UpObj"];
- for (i; i < _UL; i++) { UDE[i].name = UDE[i].name || UDE[i].id || Guid.newGuid(); _UCE.push($(UDE[i]).replaceC($$("div"))[0]); _UDFD.appendChild(UDE[i]); }
- _UDFD.submit(); this.complete = ""; U.MD.IframeLoad(this, [[U.UP.uploadingAsynF, ([this, _UCB, _URE])]]); $(_UDFD).remove(); for (i = 0; i < _UL; i++) { $(_UCE[i]).replaceC(UDE[i]); };
- //if (document.selection) { UDE[i].select(); document.selection.clear(); } else { UDE[i].outerHTML += ""; UDE[i].value = ""; } //清空内容
- }
- //传输回调
- U.UP.uploadingAsynF = function (UDOD, UCB, UDE) {
- try {
- var _UTH = UDOD.contentWindow.document.body.innerHTML; _UTH = _UTH || (UDOD.contentWindow.name != UDOD.id ? UDOD.contentWindow.name : _UTH);
- if (_UTH == null) { U.Alert("服务器处理繁忙,上传失败"); } //上传失败
- try { UDE.value = eval("0,(" + _UTH + ")"); } catch (e) { UDE.value = _UTH; } //返回的值
- $(UDOD).remove(); UCB(UDE); //回调
- }
- catch (e) { U.Alert("文件传输错误!"); }
- }
- //添加Flash上传按钮按钮
- U.UP.AddFAN = function (UDOD, UDID, UWH) {
- UDID = UDID || Guid.newGuid(); /ar _UDTD;
- if ($("object", UDOD).length == 0) {//添加Flash按钮
- _UDTD = $$("div", { "innerHTML": '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" class="UD_filePrew" width="' + UWH["width"] + '" height="' + UWH["height"] + '" id="' + UDID + '" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"><param name="movie" value="http://www.1473.cn/img/upload.swf" /><param name="menu" value="false" /><param name="wmode" value="Opaque" /><param name="quality" value="high" /><param name="bgcolor" value="ffffff" /><param name="allowScriptAccess" value="always" /><embed src="http://www.1473.cn/img/upload.swf" quality="high" bgcolor="ffffff" width="' + UWH["width"] + '" height="' + UWH["height"] + '" name="' + UDID + '" align="middle" play="true" wmode="transparent" loop="false" quality="high" style="z-index: 0;" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"></embed></object>' });
- UDOD.insertBefore(_UDTD.firstChild, UDOD.firstChild);
- }
- return (U.UP.FTF["EL"] = $("*" + UDID, UDOD).addAttrArray({ "width": UWH["width"] ? UWH["width"] : 1, "height": UWH["height"] ? UWH["height"] : 1, "style": { "display": "block"} })[0]); //设置Flash大小
- }
- */
- U.CD.O.TreeUPFile = function (SO) {
- var _PSO = SO.parentNode;
- var _fname = U.UP.GetUpName(SO.value); //得到文件名以及文件扩展名
- var _ld = U.CD.O.Loading("图片上传速度比较慢,请耐心等候.....");
- U.UP.uploading([SO], U.CD.O.TreeUpAsyn, ([_fname,_ld]), "http://disk.1473.cn/USupfile.ashx?iframename=UseStudioEditor", true); //上传图片的异步处理
- _PSO.appendChild(SO);
- }
- //右侧树上传文件回调
- U.CD.O.TreeUpAsyn = function (request) {
- var _fname = request.context[0];
- var _ld = request.context[1]; _ld.parentNode.removeChild(_ld);//移除进度条
- request = request.value;
- if (request != null && isNaN(request[0])) {
- var _content = request[2] + "|" + request[0]; //文件内容为缩略图加原图。
- U.CD.O.TreeImg(_fname[0], _content);
- }
- else { alert("你现在使用图片大小是:" + request[0] + "KB,已经超过5M,请重新选择图片不超过5M!"); }
- }
- //创建项目、文件夹、文件的函数,
- //参数为SO 为触发事件的页面元素,用户id ,node为父亲节点,input为新节点的input,不能直接传值,type为类型,文件或者目录,
- U.CD.O.TreeImg = function (_fname,content) {
- var _c = U.CD.U.IsUSelf(); //获取用户登录Cookie. _c.userid _c.username _c.Loginid
- if (!_c) { U.CD.U.LoginApply(); return; } //如果未登录,弹出登录窗口。
- var userid = _c.userid; //得到用户id
- var node = U.CD.U.CUser.CurrentNode, SO = U.CD.U.CUser.CurrentSO; //获取当前选中文件夹
- var _fid = Guid.newGuid(), _nnode; //节点基本信息,名字和id,id由前台生成。
- if (!U.CD.RT.VName(userid, _fname, "file")) { alert("名字不符合规范或者存在同名文件!"); return; }
- //前台添加一个节点,数组中也要添加节点。
- _nnode = { "Name": _fname, "CreateDate": new Date(), "Type": "file", "ID": _fid, "Deep": parseInt(node.Deep) + 1, "IsPublic": true, "Content":content };
- var L = []; L.push(_nnode); //追加一个节点,传递几个参数就追加几个。这种方式不科学,以后再改。因为硬盘是这样写的。
- node.TNode.push(_nnode); //同时向前台json中追加数据,没有json树真麻烦啊。。做json树操作是一定的。
- //向前台追加树结点。//如果连续追加多个,会多出很多margin:10px父亲节点,会出问题。
- U.CD.RT.LV(L, SO, userid);
- //后台添加一个节点。传递了用户id,根元素id,根元素深度,新节点guid,新节点名字。
- U.ACD.Request(U.CD.AjaxUrl, (["Add_File", userid, node.ID, node.Deep, _nnode.ID, _nnode.Name,content]), U.CD.RT.CP_OKAsyn, ([""]));
- }
- //加载Loading提示。参数为提示的字符
- U.CD.O.Loading = function (s) {
- var _ld = U.CD.Loading.cloneNode(true); _ld.style.display = "none"; _ld.innerHTML = s; _ld.uscustom = true; //给loading一个特殊标记(自定义),表示不用主项目的loading效果,自定义
- $$("span", { "className": "UCD_LC_X","innerHTML":"X", onclick: function () { this.parentNode.parentNode.removeChild(this.parentNode); } }, _ld); //追加关闭按钮
- document.body.appendChild(_ld);
- U.D.PopupWindow(_ld); //保证至于顶层。如需要,可以再加一个mousedown,还可以拖动,并随时至于顶层,暂时不添加了
- return _ld; //返回回去,用于删除
- }
- //取消loading由主项目统一处理。
|