|
Передача в поток файлов в ZEN
|
|||
---|---|---|---|
#18+
Проблема, в целом, в загрузке документов на сервер. Есть механизм, который подгружает файлы на сервер, описанный в одной CSP-странице: Include emConst /// /Загрузка нового файла Class Application.UpLoadFileCreateNew Extends Application.AbstractApplication { ClassMethod OnPage() As %Status [ ServerOnly = 1 ] { &html< <script language='javascript'> function loadf() { try {Form.FileStream.focus();}catch(e){} } </script> > w "<body onload='loadf()'>",! s pageid=##class(Portal.Page).OpenSysCode("AdminPage").%Id() d ##class(csp.Common.Page).SetPath(pageid) s file = ^||options("path")_"/admportal.css" s path = ##class(System.TUtil).GetFullCSPPath()_"/"_file &html< <script type='text/javascript' src='MainPortal/js/g_escape.js'></script> <link rel='stylesheet' type='text/css' href='#(file)#'> > s SiteCode=%request.Get("SiteCode") s TypFilesID=%request.Get("TypFilesID") s Height=%request.Get("Height") s Modal=%request.Get("Modal") s Folder=%request.Get("Folder") s Replace=%request.Get("replace") i $i(^nnnnn) i $g(%request)'="" && $isObject(%request) s ^nnnnn("rec")=$g(^nnnnn),^nnnnn("rec","SiteCode")=SiteCode,^nnnnn("rec","Mime")=$d(%request.MimeData("FileStream",1)) ///set ^awef = %request.MimeData("FileStream",1) if Folder=0 { s FolderID="" } elseif Folder=$$$RecycleFolder { s FolderID=##class(System.TFileFolder).CreateRecycleFolder(##class(System.TAccount).GetSessionAccount().%Id(),SiteCode) i $$$ISERR(FolderID) s SiteCode="" } else { s FolderID=Folder } s UserRight("Create")= ##class(System.TUtil).GetUserExecRight(.doc, "createFile") if (SiteCode'="")&(TypFilesID'="")&(Folder'="")&(UserRight("Create")=$$$WRITE) { s TypFile=##class(System.SFileType).%OpenId(TypFilesID) if $data(%request.MimeData("FileStream",1)) { s Error="",res=1 if %request.Get("chreplace")'="on" { s Replace="" } else { s ref=##class(System.TFile).%OpenId(Replace) if $zObjState(ref) { s FileName=%request.MimeData("FileStream",1).FileName if $zconvert(ref.DataType,"l")'=$zconvert($p(FileName,".",$l(FileName,".")),"l") { s text = $$$cntFileLogWrongType s res=$$$ERROR($$$GeneralError,text) } } else {s Replace=""} } if '$$$ISERR(res) s res=##class(Application.UpLoadFile).AddFile(%request.MimeData("FileStream",1),SiteCode,$s(TypFilesID="ALL":"",1:TypFile.SysCode),,FolderID,Replace) s Replace="" i $$$ISERR(res) { Do DecomposeStatus^%apiOBJ(res,.err) s Error=1_$$$errSaveError(err(err)) } else { s ^mtempUpLoadFile(%session.%Id(),res)=$tr($h,",") s Oref=##class(System.TFile).%OpenId(res),link="" if $zObjState(Oref) { s link=##class(%CSP.Page).Link(Oref.Path_Oref.FileNameInternal) k Oref s res=##class(System.TAccount).GetSessionAccount().Exec(.doc,"changeRight",%session.Data("UserId"),res,$$$WRITE) if $$$ISERR(res) { Do DecomposeStatus^%apiOBJ(res,.err) s Error="1"_err(err) } } &html< <a id='aNowUpLoadFile' Name='aNowUpLoadFile' style="display: none;" href='#(link)#' ></a> <script language='javascript'> parent.document.getElementById('sourceFileURL').value=document.getElementById('aNowUpLoadFile').href; parent.document.getElementById('sourceFileID').value='#(res)#'; parent.TypeFileChange('#(Height)#','#(SiteCode)#','#(Modal)#'); </script> > s Error="0"_$$$cntFileLogAdd_". "_$$$cntFileLogAddFrame } k %request.MimeData("FileStream") } w !,"<form Name='Form' enctype='multipart/form-data' method='post' action=''>" w !,"<table class='list1' cellpadding='0' cellspacing='1' border='0'>" w !,"<tr>" w !,"<th nowrap colspan=2>"_$$$cntFileFormFileType_" : "_$s(TypFilesID="ALL":$$$cntFileFormFileTypeAll,1:TypFile.ObjectName)_"</th>" w !,"</tr>" w !,"<tr><td nowrap>"_$$$cntFileFormChange_"</td><td nowrap><input type=file size=35 id='FileStream' name='FileStream' value='*.jpg'></td></tr>" w !,"<tr><td nowrap colspan=2>" if Replace]"" { s Ref=##class(System.TFile).%OpenId(Replace) if $zObjState(Ref) { w "<input type=hidden id='replace' name='replace' value='"_Replace_"'>" w "<input name='chreplace' id='chreplace' type='checkbox'/>"_$$$cntFileFormReloadChange(Ref.FileNameExternal) } k Ref } else { w "<span style='font-size: 12px; "_$s(+$g(Error):"color: red;",1:"")_"'> "_$e($g(Error),2,$l($g(Error)))_"</span>" } w "</td></tr>" w !,"<tr nowrap align=right><td colspan=2><input class=btn1 type='submit' value='"_$$$cntFileFormLoad_"'>" w !," <input class=btn1 type='button' value='"_$$$cntFileCloseFrame_"' onclick='parent.fpClose(""divUpLoadFile"");'></td></tr>" w !,"<tr>" w !,"<td colspan=2 class=listpages> " w !,"</td>" w !,"</tr>" w !,"</table>" w "</form>" } else { &html< <script language='javascript'> parent.fpClose('divUpLoadFile'); </script> > } w "</body>",! q $$$OK } } Читать это особо не нужно, просто кинул код, который дан. Как, используя эту страницу, или части из её кода, всё же, загрузить файл на сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2012, 11:47 |
|
|
start [/forum/topic.php?fid=39&fpage=31&tid=1557317]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
217ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 599ms |
0 / 0 |