受到@Evgeny.Shvarov 的问题和@Ashok.Kumar 的回复的启发
我已经创建了一个用于把Global下载成 XML 文件的基础
如何使用:
只需调用 http://<your_server>/csp/samples2/dc.Gdown.cls ?GBL=global_name之类的页面
gbl-name 不带首字母 ^(插入符号)
输出具有默认名称 <global_name>.XML 您可以选择。
已知限制:
- 你必须将它安装在你的源服务器上
- 它没有经过测试/跨命名空间工作
- 没有部分下载
- 错误处理只是基本或缺失
个人还有提升空间。
就是这样:
Class dc.Gdown Extends %CSP.Page { ClassMethod OnPreHTTP() As %Boolean [ ServerOnly = 1 ] { #dim %response as %CSP.Response set %rcc = $Get ( %request.Data ( "GBL" , 1 ), "" ) if %rcc ] "" { set %rcd = $D (@( "^" _ %rcc )) if %rcd { set %response.ContentType = "application/xml" set %response.Headers ( "Content-Disposition" )= "attachment; filename=""" _ %rcc _ ".xml""" } } else { set %rcd = 0 set %rcc = "Parameter GBL" } quit $$$OK } ClassMethod OnPage() As %Status { if ' %rcd { &html << html > < head > </ head > < body > #(%rcc)# >> not found </ body > </ html > > quit $$$OK } do $system .OBJ.Export( %rcc _ ".GBL" ) Quit $$$OK } }
ObjectScriptObjectScript