文件下载元素(FileDownload)由一个标题和一个链接组成,根据不同的动作属性配置,用户可以直接打开链接对应的服务器端的文件或者转存至用户的本地硬盘中。与文件上传元素一样,文件下载元素的核心也是使用一个类型为“Resource”资源的上下文特性对文件进行处理。文件下载也同样没有事件绑定,从逻辑角度看,用户单击链接只是将文件下载元素绑定的上下文中的文件资源进行处理,所有操作都在客户端完成。文件下载元素包含下列属性。
1)activateAccessKey:设置是否允许快捷键(使用“Alt”键与首字母触发默认事件)。
2)behavior:控制用户在单击文件下载元素后的反馈动作,默认有3个选项:“al⁃lowSave”允许保存,在用户单击后会首先弹出一个“打开”或“保存”对话框,即允许用户直接使用默认程序打开文件或者直接另存至本地硬盘中;“auto”自动,程序会根据文件资源的类型自动进行响应,表4-4为部分文件类型的响应方式清单,其中最后一列的“是”与“否”表示是否会在新窗口中打开;“openInPlace”表示对应文件将使用用户客户端的默认软件在同一窗口中打开。
表4-4 部分文件类型的响应方式清单
(续)
3)contextMenuBehaviour:设置上下文菜单行为,默认有“继承”“允许”和“禁止”3种类型。
4)contextMenuId:设置上下文菜单的唯一标识。
5)design:控制链接文本的显示风格,默认有标准显示和增强显示两种类型,其中增强类型即为文本加粗显示。
6)enabled:控制元素是否可用。
7)imageFirst:控制显示的链接图标是否位于文本前面,布尔型属性。
8)imageHeight:控制文件下载元素中链接图标的高度。
9)imageSource:控制文件下载元素中链接图标的来源(文件目录位置)。
10)imageWidth:控制文件下载元素中链接图标的宽度。
11)resource:用于控制用户下载文件所对应的上下文特性。该特性类型必须是“Re⁃source”资源类型,必须绑定上下文。
12)target:控制弹出页面的具体位置,如可以使弹出页面在指定的窗口中打开。
13)text:控制文件上传的显示文本。
14)textDirection:控制链接文本的排列顺序,默认有3个选项:继承自父元素、从左往右和从右往左。
15)tooltip:控制提示消息的显示文本。
16)type:控制文件下载元素中链接的显示风格,默认有以下4种风格:
●功能型:显示默认的链接风格,默认为蓝色带下画线文本。
●导航型:显示为已访问过的链接颜色,文本带下画线。
●报告型:显示默认的链接风格,文本不带下画线。
●结果型:显示为已访问过的链接颜色,文本不带下画线。
17)visible:控制元素是否可见。
18)width:控制元素的显示宽度。
开发实例:
1)以上一节中的文件上传元素的实例为基础,增加一个文件下载元素,能实现用户在上传文件后即能看到是否上传成功以及对应文件下载的效果。首先打开文件上传的视图(如需重新创建,请参考上一节“文件上传”中开发实例的步骤),右击“Outline”元素清单中的“RootElement”根结点,选择插入子对象,选择“FileDownload”文件下载类型,输入ID名称,随后单击“OK”按钮,如图4-236所示。
(www.daowen.com)
图4-236 选择元素类型
2)此时会用到3个元素:文件上传、上传按钮和文件下载,如图4-237所示。注意,文件上传是将文件从用户客户端上传至Web Dynpro程序的上下文中,而上传按钮是将上下文中的文件存储至服务器端。
3)进入上下文页签,创建一个新的上下文特性,用于在文件下载元素中显示对应的文件名。右击“Context”根结点,选择“New”→“Attribute”,如图4-238所示。
图4-237 元素列表
图4-238 创建结点的菜单选择
4)在弹出的对话框中输入特性的名称“fileName”,类型使用默认的字符串类型,单击“Finish”按钮,如图4-239所示。
图4-239 输入特性名称
5)保存所有修改,完成了上下文特性的创建,如图4-240所示。注:“resource”特性是上一小节中使用“文件上传”时已经创建的特性,类型是“com.sap.ide.webdynpro.uiele⁃mentdefinitions”中的“resource”资源类型。
6)选中视图中的文件下载元素,将创建的特性与元素属性进行绑定。其中“resource”属性直接绑定文件上载元素数据源,即通过文件上传元素得到的文件资源同时也成为了文件下载元素的文件资源,文件下载的文本则显示出了上传文件的文件名。另外,将“behav⁃iour”属性改为“allowSave”,允许用户直接操作文件,如图4-241所示。
图4-240 特性清单
图4-241 修改属性
7)在开发工具中的页面预览,如图4-242所示。
图4-242 运行效果
8)在“解析”按钮的事件处理方法中增加下列代码,用于读取上传的文件名:
9)保存所有修改,并重新编译、运行之后,即可进行上传、下载文件的测试,如图4-243所示。
10)单击“浏览”按钮,从本地文件中选择“测试文本.txt”,随后单击“解析”按钮,文件下载链接点亮,并显示上传文件的文件名。单击文件名链接,即可将文件另存至本地硬盘目录中,如图4-244所示。
图4-243 运行效果
图4-244 运行效果
注:实际使用时,上传按钮会多增加一步,将文件存放至服务器端。而在下载文件元素的初始化处理中,也同样会增加将服务器端文件读取并存放至Web Dynpro的上下文中的动作。本实例中未体现这些步骤,各位读者可以在系统环境允许的条件下进行测试。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。