重庆软航科技有限公司

NTKO 附件管理控件示例程序

示例程序与技术资料下载:http://www.ntko.com/admin/homepagenew.nsf/vwAllDocsByAID/A64F6ABEA3169A224825716E00556B63?opendocument
示例程序只作原理性开发,如有问题咨询请联系我们。


在WEB中编辑管理服务器文件!
V3.0版
NTKO 附件管理控件开发接口参考V3.0 Build 3,0,8,8
更新时间:2008年5月8日

开发接口
重庆软航科技有限公司
千航网络【NTKO SOFTWARE】
电子邮件: SALEINFO@NTKO.COM
WEB: HTTP://WWW.NTKO.COM/
技术支持网站: HTTP://DEV.NTKO.COM/
TEL:023-62943208 FAX:023-62943207
? COPYRIGHT 2003-2007,BY NTKO SOFTWARE
ALL RIGHTS RESERVED
? 版权所有:软航科技,千航网络
保留所有权利
未经许可,请勿分发本文档的部分或全部

目录
第1章 软件最终用户许可协议 1
第2章 何时使用NTKO附件管理控件 1
1、 提供在线编辑解决方案 1
2、 管理DOMINO文档附件 1
第3章 功能介绍(Features) 2
3.1、 功能简介 2
3.2、 详细功能 2
1、 平台支持功能 2
2、 网络及协议功能支持 2
3、 界面行为支持 3
4、 编程支持 3
5、 安全及其他支持 3
3.3、 需要的软件 4
3.4、 支持的Web服务器 4
3.5、 HTML Object标识符 4
第4章 控件主要属性参考 4
4.1、 界面相关属性 4
1、 Toolbar 4
2、 ViewType 4
3、 Statusbar 5
4、 BackColor 5
4.2、 网络协议相关属性 5
1、 MaxUploadSize 5
2、 NetworkBufferSize 5
3、 ReceiveDataTimeOut 5
4、 IsUseUTF8URL 5
5、 IsUseControlAgent 5
6、 IsUseUTF8Data 6
7、 IsDirectConnect 6
4.3、 行为控制属性 6
1、 CancelLastCommand 6
2、 DefaultAddFileTypes 6
3、 FilesCount 6
4、 ServerFilesCount 6
5、 LocalFilesCount 6
6、 IsConfirmSaveModified 6
7、 IsShowContextMenu 7
8、 IsPermitAddDelFiles 7
9、 DelFileField 7
10、 IsReadOnlyMode 7
11、 FirstColCaption 7
12、 IsEnableEditMenuItem 7
13、 IsEnableOpenMenuItem 7
14、 IsConfirmDelFiles 7
15、 IsNeedSaveToServer 7
16、 IsShowFileMouseTip 7
17、 IsEnableSaveAll 8
18、 IsEnableAdd 8
19、 IsEnableViewDetail 8
20、 MenuItemCount 8
21、 StatusMessage 8
22、 StatusCode 8
23、 ProductCaption,ProductKey 8
4.4、 其他特殊属性 8
1、 NetAdaptersCount[特定版本提供] 8
第5章 控件主要方法参考 9
1、 AddServerFile 9
2、 AddLocalFile 9
3、 AddFromScanner[需要购买扫描支持模块] 10
4、 DoCommand 10
5、 GetFile 11
6、 BeginSaveToURL 11
7、 SelectFile 13
8、 IsFileSelected 13
9、 MoveSelectFileUp 13
10、 MoveSelectFileDown 13
11、 ResetViewSort 14
12、 SetColumnVisible 14
13、 SetCustomColumnCaption 14
14、 AddCustomMenuItem 14
15、 RemoveCustomMenuItem 15
16、 ClearAllCustomMenuItems 15
17、 Reset 15
18、 GetNetAdaptersInfo[特定版本提供] 15
第6章 控件主要事件参考 16
1、 AfterSaveToURL 16
2、 OnSelectChange 18
3、 OnLocalFileAdded 19
4、 BeforeFileCommand 19
5、 BeforeFileAdded 20
6、 OnFileSelecteded 21
7、 BeforeFileOpened 22
8、 OnCustomMenuCommand 23
第7章 AttachFile类介绍 24
7.1、 说明 24
7.2、 AttachFile类属性 24
1、 IsServerFile 24
2、 FileURL 24
3、 FilePath 24
4、 FileName 25
5、 FileSize 25
6、 IsAllowEdit 25
7、 IsAllowOpen 25
8、 IsAllowDelete 25
9、 IsAllowSaveAs 25
10、 IsAllowPrint 25
11、 IsAllowOpenFolder 25
12、 IsAllowViewProperty 25
13、 SortOrder 25
7.3、 AttachFile类方法 25
1、 SetCustomData 25
2、 GetCustomData 26
第8章 重命名功能和文件排序功能 26
8.1、 有关重命名功能的说明 26
1、 重要说明 26
2、 重命名功能的编程使用 26
8.2、 有关排序功能的说明 29
1、 重要说明 29
2、 排序功能的编程使用 29
第9章 常见问题(FAQs) 30
1、 如果控件不能运行怎么办? 30
2、 如何在<object>的<param>部分设置属性? 30
3、 如何输入产品密钥? 30

重要须知 ━ 请认真阅读:本《最终用户许可协议》(以下称《协议》)是您(个人或单一实体)与 我们之间有关NTKO 附件管理控件软件产品的法律协议。本“软件产品”包括计算机软件,并可能包括相关媒体、印刷材料,和“联机”或电子文档(“软件产品”)。本“软件产品”还包括对我们提供给您的原“软件产品”的任何更新和补充资料。任何与本“软件产品”一同提供给您的并与单独一份最终用户许可证相关的软件产品是根据那份许可协议中的条款而授予您。您一旦安装、复制、下载、访问或以其它方式使用“软件产品”,即表示您同意接受本《协议》各项条款的约束。如您不同意本《协议》中的条款,请不要安装或使用“软件产品”;
NTKO 附件管理控件是受版权保护的。如果您得到的是未注册版本,您还没有获得运行授权。请在测试完成之后从您的机器中删除。如果您得到的是注册版本,您可以在授权协议许可的范围内使用本软件。
您不能分发,销售,以及非法破解本软件。也不能超出协议许可的范围使用本软件。否则,将被视为侵犯了我们的知识产权。
对反向工程 (Reverse Engineering)、反向编译 (Decompilation)、反汇编 (Disassembly) 的限制。您不得对本“软件产品”进行反向工程、反向编译 (decompile) 或反汇编 (disassemble),但尽管有这项限制,如适用法律明示允许上述活动,则不在此限。另外,我们不对您在使用此软件的过程中对您的机器或者数据造成的损失负责。 使用NTKO附件管理控件,可以直接打开附件并进行编辑。系统可以自动将修改过的资料保存回服务器。免去了下载-》修改-》上传的复杂操作过程。NTKO附件管理控件可用于任何后台WEB服务器。 NTKO附件管理控件更可以和LOTUS DOMINO完全无缝集成。应用NTKO附件管理控件,类似于INOTES,可以更加方面的操作和处理任何DOMINO数据库中的附件。如果您使用LOTUS DOMINO作为企业服务器,NTKO附件管理控件更是您必不可少的选择。 在线演示及资料下载:http://www.ntko.com/admin/testattaches.nsf
使用NTKO附件管理控件,能够在浏览器中启动原始文件对应的应用程序,对图像文件,OFFICE文件,文本文件等任何文件进行编辑,打印,阅读,并保存到Web服务器。实现文档的方便编辑和统一管理。支持拖放,修改提示保存,多线程下载上传,多种视图模式,智能提交等多种特性。
NTKO附件管理控件支持包括DOMINO在内的各种后台Web服务器和编程语言。并且可以在浏览器中通过JScript或者VBScript使用控件提供的属性和方法控制文档操作。在DOMINO中,比INOTES使用更加方便快捷。集成程度更好。
支持多种后台web服务器和开发语言 支持DOMINO,IIS,WebLogic,Apache等多种后台web服务器和ASP,JSP,C#,VB.NET,PHP等多种后台开发语言。在任何后台web服务器都无需后台安装特别的组件或者软件。
与DOMINO服务器无缝集成 无需后台组件,和DOMINO服务器可无缝集成。比INOTES使用更加方便,开发更加快捷。
支持智能提交 使用我们独创的智能提交技术,将附件文件和开发者指定的FORM中的数据一次性上传到服务器。
多线程上传下载,性能更高 控件完全采用多线程方式上传下载,可以更好的改善用户体验,达到更高性能。
支持UTF-8网页编码 通过IsUseUTF8Data属性,可以支持UTF-8编码网页的智能提交。
支持网络缓冲大小自定义 自适应的网络传输速度,并且在特殊网络中允许用户自定义网络传输缓冲的大小
支持HTTP协议,HTTPS OVER SSL协议 对HTTPS协议的支持使得可以创建更加安全的应用。并且自动支持Session Cookie。使用当前页面的Session Cookie和服务器进行交互。
支持鼠标拖放 用户可以通过拖放增加本地文件到控件中,或者通过拖放从控件中拖放文件到本地资源管理器或者其他支持拖放的应用程序。
支持多种视图模式 支持大图标,小图标,详细信息显示等多种模式。支持多种排序方式。
支持自定义工具栏 通过附件提供的事件和方法,用户可以自定义工具栏执行调用。
支持直接编辑文件 用户可双击附件直接打开编辑,或者使用右键菜单选择打开或者打印,系统自动下载到临时目录并执行相关操作。
支持提示文件修改 如果下载到本地的文件被修改,控件自动提示并可以保存回服务器。
支持编辑,打开,打印等多种操作方式 可对附件进行编辑,打开,打印,打开文件夹,查看属性等多种操作。
支持简洁高效的编程接口 可使用Javascript和VBScript对控件进行编程。
支持自定义列,并且可以隐藏预定义的某些列 控件支持最多5个自定义列。让开发者能够有更多的控制。
支持设定自定义用户数据并显示 控件可以为自定义列设定自定义的用户数据并显示。并且能够自动排序。
支持过滤文件大小,文件总数量,以及文件类型 通过控件的BeforeFileAdded事件,用户可以限定允许添加到控件的文件类型,大小,以及数量。
支持多个事件 通过控件选择文件,添加文件之前,选择数量变化等多个事件,用户可以对控件实施更多控制。
安全可靠 系统不会自动增加未经用户授权的文件。在打开可执行文件时会自动提示警告。
支持直接从扫描仪输入文件
[需要购买扫描支持模块]
通过AddFromScanner方法,控件支持从扫描仪中直接扫描图片到控件中。[需要购买扫描支持模块]
支持获取客户机网卡物理地址及信息
[特定版本提供]
控件支持获取客户机网卡物理地址及信息。通过将控件设定为最小,并获得这些信息,可用于客户端的登录认证[特定版本提供]

使用NTKO附件管理控件,可以大大缩短整个系统的开发时间,降低系统的开发成本,提高产品的质量和用户体验。 …… 正确运行本控件需要客户机安装Windows98及以上操作系统,Internet Explorer 5.0及以上版本。 支持所有的支持HTTP/1.1标准的Web服务器。 Toolbar:返回或者设置是否显示工具栏。 ViewType:返回或者设置控件的视图属性。取值0-2。 ntkoViewSmallIcon,
ntkoViewReport
0:大图标;1:小图标;2:详细信息 Statusbar:布尔型。读写。是否显示状态栏 BackColor:背景颜色;可读写;缺省值:系统窗口背景颜色;
设置:Obj.BackColor = OLE_COLOR
说明:OLE_COLOR是一个BGR (Blue, Green, Red)数值。
BGR value = (blue * 65536) + (green * 256) + red MaxUploadSize:返回或者设置最大允许提交的数据量。以字节为单位。 NetworkBufferSize:设置网络传输的缓存大小。如果为0,则系统自动调整。建议设置为0。如果网络情况特殊,比如速度很快或者很慢,可以适当修改此设置。 ReceiveDataTimeOut:读取/设置网络接收超时时间。以秒为单位。长整型。默认为300秒。 IsUseUTF8URL:读取/设置是否使用UTF-8传输URL。 IsUseControlAgent:读取/设置向服务器提交请求时是否使用“NTKO ATTACH MANAGE CONTROL AGENT”.此信息也可用于判断是否是控件请求的数据。默认为FALSE,使用浏览器AGENT。 IsUseUTF8Data:读取/设置是否使用UTF-8在智能提交中传输网页数据。如果网页编码设置为UTF-8,需要设置此属性,以便控件自动使用UTF-8编码进行网页数据的提交。 IsDirectConnect:是否使用直接连接连接服务器。【而不是默认的采用浏览器设置】。对于某些老版本的代理服务器环境,设置此选项可以避免因浏览器自动检测代理服务器引起的问题 CancelLastCommand:只允许写入。设定该值将取消最后的操作。可以用于多个事件。具体请参考相关事件的介绍。 DefaultAddFileTypes:读取/设置添加文件对话框中默认的文件过滤类型.以分号分隔.例如:*.doc;*.gif;"。默认是允许控件内置的过滤选项。 FilesCount:只读。返回当前控件中文件的数量。 ServerFilesCount:只读。返回当前控件中服务器文件的数量 LocalFilesCount:只读。返回当前控件中用户增加的本地文件的数量 IsConfirmSaveModified:读取/设置是否提示保存修改的文件到服务器.默认为true。建议启用以便让用户能够确认所作的修改。 IsShowContextMenu:读取/设置是否显示右键菜单.默认为true。注意:右键菜单中的关于本产品菜单不能隐藏。 IsPermitAddDelFiles:是否允许在控件中增加和删除文件。当文档处于阅读模式,不允许用户删除和增加附件时,应该设置为0。默认为TRUE(-1)。 DelFileField:设置文件删除域名称。控件将把用户从控件中删除的服务器文件用此域标识并传输给后台。该值是一个同名的多值域。在DOMINO平台下,此域不需要设置。 IsReadOnlyMode:布尔型。读取/设置是否是只读状态打开服务器文件。 FirstColCaption:读取/设置第一列的名称。字符串。 IsEnableEditMenuItem:读取/设置是否允许编辑菜单项。 IsEnableOpenMenuItem:读取/设置是否允许打开菜单项。 IsConfirmDelFiles:布尔型。读取/设置是否提示删除文件。默认为true,提示。 IsNeedSaveToServer:只读。读取用户是否对控件中的文件进行了修改,并需要保存回服务器。当用户删除了服务器文件,增加了本地文件,或者,修改了服务器已经下载的文件之后此属性为TRUE,否则为FALSE。 IsShowFileMouseTip:读写,布尔型。设定是否显示文件的鼠标提示信息。 IsEnableSaveAll:布尔型。可读写。读取/设置是否允许“保存所有”命令。 IsEnableAdd:布尔型。可读写。读取/设置是否允许添加新附件命令。 IsEnableViewDetail:布尔型。可读写。读取/设置是否允许查看详细命令。 获取上下文菜单中,自定义菜单项目的数量。 返回最后操作的结果字符串,只读. 返回最后操作的结果代码,只读.
0: 成功; 1:文件错误; 2:网络错误; 3: 内存错误; 4:参数错误; 100:其他错误。 标题栏名称和密钥。如果密钥正确,将可以正常使用。否则,将显示演示版本标识,且会到期。 NetAdaptersCount:返回本地网络界面的数量;请参考GetNetAdaptersInfo方法介绍。 AttachFile AddServerFile( );
向控件中增加服务器文件。返回一个AttachFile类对象。
URL:附件URL(可以是绝对URL,或者相对当前页面的URL)
FileName:附件名称。标识附件的文件名。该名称必须正确,否则将导致删除文件信息传送错误。
FileSize:附件大小,以字节为单位。该信息不一定需要正确的信息,只是将在控件的详细视图中看到。用户下载后该信息将自动更新成正确的信息。
FileModifiedTime:标识附件最后修改时间的字符串。
IsAllowEdit:说明该服务器文件是否允许被编辑。不允许编辑的附件即使用户在本地修改了也不会保存到服务器。 AddLocalFile(
[in, optional] VARIANT FileOrDirName,
[in, optional] VARIANT PromptSelect,
[in, optional] VARIANT PermitMultiSelect,
[in, optional] VARIANT FileType
)
从安全性考虑,如果该方法不提示用户选择的情况下增加了文件,则无论设定提示保存与否,保存时都将提示用户,以避免服务器要求上传了用户不允许的文件。
FileOrDirName:初始文件或者目录;
PromptSelect:是否提示用户选择文件;如果第一个参数是目录,或者模式,比如”d:\\000\\*.*”,且第二个参数为FALSE,将增加符合条件的文件。
PermitMultiSelect:是否允许选择多个文件;
FileType:默认的文件过滤类型。比如:”*.gif;*.jpg;*.bmp”。多种类型以分号分隔。 另外,用户也可以采用拖放的方式增加文件。 AddFromScanner ([in,optional] VARIANT FileName)
增加来自扫描仪的文件。可选参数标识增加的附件的前缀。 DoCommand([in] unsigned long cmdid)
该方法对选定的附件执行命令。cmdid可选0-6。
ntkoCmdEdit = 0
ntkoCmdOpen =1
ntkoCmdPrint = 2
ntkoCmdDelete = 3
ntkoCmdSave = 4 ntkoCmdRename = 6
0:编辑附件。1:打开附件。2:打印附件。3:删除选定附件。4:保存选定的附件。5:保存全部附件到指定目录
如果“IsPermitAddDelFiles”属性被设置为FALSE,则DoCommand(3)不起作用。请参考“IsPermitAddDelFiles”属性。
一般情况下,该方法可用于开发者自定义的按钮。
比如: 请参考“OnSelectChange”事件获得相关信息。在OnSelectChange事件中,开发者可以获得当前选择的附件数量,并根据是否有选定的附件来设定允许或者禁止调用此方法的按钮。 AttachFile GetFile([in] long index)
获取指定索引index所在的文件类。返回AttachFile对象。可以通过结合这个方法及FilesCount属性,循环获得控件中所有文件的详细信息。 BeginSaveToURL( 该函数使用HTTP协议将文件保存到URL。调用完毕将触发AfterSaveToURL事件,请参考“主要事件参考”部分获得详细信息。
URL可以是相对于控件所在的网页的相对URL或者是绝对URL。
FileFieldName相当于一个HTML页面的Form中的<input type=file name=”FileFieldName”>中的FileFieldName。
可选参数CPARA是可以让用户定义没有在表单中出现的参数。该参数是以”&”分隔的参数-值对。一个可能的CPARA值为:”key=thiskey&type=word&load=mywave”。
可选参数HTMLForm用来指定随控件中的文档一起提交的HTML FORM。可以使用FORM的ID,比如,“myForm”来指定,或者,也可以使用FORM在网页中所有FORM中的序号,比如,0,来指定。
MaxWaitSeconds是最多等待时间。单位为秒数。
如果为0,该方法启动传送之后立即返回。
如果省略,则等待传送完毕或者出错才会返回。如果为指定时间,单位为秒数,则最多等待指定的时间。如果没有传送完毕则强行终止传输。
建议省略该参数。
为了使该函数工作,必须在Web服务器中开发一个能够处理表单提交的CGI或者ASP或者是JSP等程序。比如,对于如下表单: BeginSaveToURL (“/postCGI.jsp”,”DocFile”,””,”myForm”)
或者:
BeginSaveToURL (“/postCGI.jsp”,”DocFile”,”” ,0)
都会在将正在编辑的文档作为一个上传文件的同时,提交上述表单中的所有数据。因此,postCGI.jsp程序中,除了处理上述表单的数据,还应该处理一个控件提交的上传文件。
如果您的应用程序本身就处理了多个附件,只需要将正文附件替换为控件,然后调用控件的BeginSaveToURL函数,后台程序无须进行任何修改就能够将在线编辑的文件以及其他的附件同时提交到Web服务器。 比如下面的代码将一个值中所有的”%”符号和”&”符号进行替换,并返回替换后的字符串: SelectFile([in] long index,[in] boolean vbool);
选择或者取消选择index处的文件。参数index标识文件在列表中的索引,参数vbool说明是选择还是取消选择。 IsFileSelected([in] long index)
返回index指定的文件是否被选择。 MoveSelectFileUp()方法将所选的文件向上移动顺序。 MoveSelectFileDown()方法将所选择的文件向下移动顺序。 ResetViewSort()方法,在当前视图是详细列表视图时,重置文件的排列顺序为默认顺序。 SetColumnVisible([in] long ColIndex,[in] boolean vbool);
隐藏/显示指定的列.从1-10列。其中1-5是内置列,6-10是自定义列。 SetCustomColumnCaption([in] long ColIndex,[in] BSTR bstr);
设定自定义列标题,从0-4列. 在右键菜单中,添加一个自定义菜单项目。
AddCustomMenuItem
(
BSTR cmnuCaption,
VARIANT IsSeparator,
VARIANT IsNeedSelectItem,
VARIANT cmnuID
)
参数说明:
cmnuCaption:菜单标题。
IsSeparator:是否是一个分隔符,默认为false。
IsNeedSelectItem:如果该参数为TRUE,则该菜单在用户选择一个文件之后才可用。默认为TRUE。如果为FASLE,则总是可用。
cmnuID:菜单ID。在处理菜单事件时,用于标识该菜单项。
请参考OnCustomMenuCommand事件。 RemoveCustomMenuItem([in] long index);
删除指定索引的自定义菜单项目。 ClearAllCustomMenuItems()
删除所有的自定义菜单项目。 Reset();方法清除控件内部所有信息。 GetNetAdaptersInfo( 返回本地网络界面的信息。参数描述:
Index:索引,从0开始。
InfoType:要获取的网络界面的信息类型。0:物理地址,1:名称。2:描述。3:接口类型
返回:指定网络界面的信息。
如果要求返回接口类型,可能的返回值(接口类型)包括:
"OTHER" "ETHERNET" "TOKENRING" "FDDI"
"PPP" "LOOPBACK" "SLIP"
比如,如果您要获得网卡的物理地址,您首先判断接口类型是否是ETHERNET,然后再申请获得网卡的物理地址。
可以首先通过NetAdaptersCount属性返回可用网络界面的数量。 AfterSaveToURL([in] BSTR RetData,[in] VARIANT ErrorCode);
该事件在保存到URL执行完毕或者被取消,或者出错时执行。
ErrorCode =0:成功
ErrorCode =1:标识文件存取错误
ErrorCode =2:标识网络传送错误
ErrorCode =3:标识内存错误
ErrorCode =10:标识用户取消
ErrorCode =11:传送超过BeginSaveToURL方法指定的参数MaxWaitSeconds。
ErrorCode =100:标识其他未知错误
ErrorCode>100:标识服务器返回的错误状态信息。
RetData当ErrorCode=0或者ErrorCode>100的时候,标识从服务器返回的数据。
以下是代码示例: OnSelectChange([in] VARIANT SelectCount);
该事件在控件中的文件被选择时执行。SelectCount是被选择的文件数量。开发者可以在这个事件中根据SelectCount设定“调用DoCommand(x)方法的按钮”的可用性。
以下是代码示例: OnLocalFileAdded(FilePath, AttachName, AttachFile)
该事件在增加了本地文件时被触发。无论是通过拖放,还是通过js增加,还是用户单击工具栏,菜单栏增加本地文件,对于每一个被增加的文件,都会触发该事件。第一个参数标识文件的本地全路径名。第二个参数是增加到列表后的附件名称。第三个参数代表一个AttachFile类(参考第5章)。例如: BeforeFileCommand(cmdType,IsServerFile,FilePathOrURL, AttachFile)
该事件在对文件进行操作时被触发。第一个参数标识对文件操作的命令类型(整数),第二个参数标识是否是服务器文件(布尔型),第三个参数根据第二个参数是否服务器文件,标识文件的URL(如果是服务器文件)或者路径(如果是本地文件)。第四个参数代表一个AttachFile类(参考第5章)。代码示例: BeforeFileAdded(IsServerFile, FilePathOrURL, FileName, FileSize);
文件增加之前的事件。第一个参数标识是否服务器文件。第二个参数标识服务器文件URL,或者,如果第一个参数为false,标识本地文件全路径。第三个参数标识文件名。第四个参数标识文件大小。
您可以判断这些信息是否满足需求。如果不满足,可以通过CancelLastCommand设定为true来取消该文件的增加。 OnFileSelecteded(AttachFile);
如果用户单击控件中的某个文件选择了该文件,将触发该事件。该事件可以用来显示用户选择的文件的信息。 BeforeFileOpened([in] ntkoCommandId cmdType,[in] VARIANT AttachFile);
文件被打开之前触发。这时如果是服务器文件,已经下载完成。在刚刚打开之前触发。该事件可以用于禁止某些文件的打开。
在这个事件中设定CancelLastCommand = true;可以阻止打开文件。
示例代码: OnCustomMenuCommand([in] long menuIndex,
[in] BSTR menuCaption,[in] long myMenuID);
在用户点击自定义菜单之后触发。传入参数标识菜单序号,标题,以及菜单ID。 在介绍控件的主要方法之前,首先介绍AttachFile类。该类代表控件中的一个文件。获得一个AttachFile的类实例有4种途径: 得到该类之后,可以通过AttachFile的属性或者方法,设定一个服务器文件是否允许编辑,或者设定服务器文件的自定义属性。 在这个事件中,通过控件传入的该类示例,可以通过AttachFile的属性或者方法,设定本地文件的自定义属性。 在这个事件中,通过控件传入的该类示例,或者通过读取AttachFile的信息,确定是否通过设定CancelLastCommand为true来取消某个命令。 在这个事件中,通过控件传入的该类示例,或者通过读取AttachFile的信息,在界面上某处显示该文件的信息。 IsServerFile:只读。返回该文件是否是一个服务器文件。 FileURL:只读。如果AttachFile代表一个服务器文件,则返回该服务器文件的URL。否则返回空。 FilePath:只读。返回本地文件或者已经下载的服务器文件的全路径。 FileName:只读。返回该文件的附件名称。 FileSize:只读。返回该文件的大小。 IsAllowEdit:可读写。读取/设置该文件是否允许编辑。 IsAllowOpen:可读写。读取/设置该文件是否允许打开。 IsAllowDelete:可读写。读取/设置该文件是否允许删除。 IsAllowSaveAs:可读写。读取/设置该文件是否允许被另存。 IsAllowPrint:可读写。读取/设置该文件是否允许被打印。 IsAllowOpenFolder:可读写。读取/设置该文件是否允许打开所在文件夹。 IsAllowViewProperty:可读写。读取/设置该文件是否允许查看属性。 SortOrder:只读,返回控件中文件的排序序号,小的序号排列在前面。请参考本文第八章8.2有关排序功能的描述。 SetCustomData ([in] long Index,[in] BSTR bstr)
设置文件的自定义属性。Index:0-4 GetCustomData([in] long Index)
返回文件的自定义属性。Index:0-4 重命名功能需要特定版本支持。请在购买时可以指明是否需要该功能。 如果该功能被激活,当用户重命名一个文件时,调用BeginSaveToURL方法的时候,控件会将重命名的文件的信息,作为两个多值域发送给web服务器。两个域的名称分别为:
原始文件名域:"NTKOFMAN_RENAME_FROM_FILENAMES"
重命名之后的文件名域:"NTKOFMAN_RENAME_TO_FILENAMES"
您在后台可以通过web服务器,使用类似获取FORM域的方式获取这两个域的值。比如,如果用户将“文件1.doc”重命名为“文件11.doc”,“文件2.doc”重命名为“文件22.doc”。那么,后台得到的字符串将是:
"NTKOFMAN_RENAME_FROM_FILENAMES"的域值为:
“文件1.doc\文件2.doc”
"NTKOFMAN_RENAME_TO_FILENAMES"的域值为:
“文件11.doc\文件22.doc”
多个文件以\分隔。您需要在后台进行拆分。
对于除了domino服务器之外的服务器,您可以在web服务器处理重命名。
对于domino服务器,您需要在表单中加入以上两个名字命名的两个文本可编辑域(对WEB和NOTES隐藏)。然后在WebQuerySave代理中处理重命名。处理思路是先将文件以重命名之后的名字解压缩到临时目录,然后重新附加到文档。一个示例代理如下:
WebQuerySave代理: agProcessRename代理的代码: 排序功能需要特定版本支持。请在购买时可以指明是否需要该功能。 如果用户对附件进行了排序,您可以通过js代码,获得控件中所有附件的排序序号,并且放到表单自定义的隐藏域中传递给服务器后台处理。后台附件表中可以增加一个排序字段,用于按照顺序显示附件。 一个示例js代码如下: 请检查Internet安全选项。应该设置为中或者以下。 在控件的<param>部分设置参数时要注意,在ActiveX控件中,-1表示TRUE,0表示FALSE,这和传统习惯不同。比如下面的设置将IsUseUTF8URL属性设置为TRUE: 在控件的<param>部分输入密钥。
对于单套授权版本,采用如下方式输入密钥: 单套授权版本的密钥是我们颁发的。
对开发商授权版本,采用如下方式输入密钥: 其中,ProductCaption和ProductKey是用我们提供的工具产生;MakerCaption是固定的,MakerKey由我们颁发。
如果您还有其它的问题,请通过电子邮件 saleinfo@ntko.com 与我们联系。

重庆软航科技有限公司
电子邮件: SALEINFO@NTKO.COM
WEB: HTTP://WWW.NTKO.COM/
技术支持网站: HTTP://DEV.NTKO.COM/
TEL:023-62943208 FAX:023-62943208-802
? COPYRIGHT 2003-2007,BY NTKO SOFTWARE
ALL RIGHTS RESERVED
? 版权所有:软航科技,千航网络
保留所有权利
未经许可,请勿分发本文档的部分或全部
—— 1 ——


技术支持电话:023-62943208 转 技术支持部
公司网站:WWW.NTKO.COM
技术支持开发网站:DEV.NTKO.COM