论文部分内容阅读
摘要:文件的上传与下载是WEB应用开发中的一个基本需求。本文讲述使用PowerBuilder开发COM组件解决WEB应用中附件的上传下载问题。
关键词:WEB应用;PowerBuilder;COM组件
随着计算机网络技术的日趋成熟,以及Internet的迅速发展,对数据库信息的处理已经渐渐地由Client/Server模式转向Browser/Server模式,基于WEB方式的计算机应用已是大势所趋。开发B/S结构应用程序的工具很多,PowerBuilder就是Sybase公司推出的用于企业级应用的开发工具[1]。
文件的上传与下载是WEB应用开发中的一个基本需求。本文以示例简述PB的WEBFROM下文件上传与下载的实现,内容涉及如何使用PowerBuilder建立WEB应用、使用PowerBuilder开发COM组件、PowerBuilder虚拟文件系统,以及WEB方式下文件的上传与下载。
1 PowerBuilder建立WEB应用[2]
PowerBuilder的WEB应用构建前提是分布式应用体系。PowerBuilder的客户端应用分布到WEB 服务器上,可将Web.PB看作为客户端应用。当客户端应用Web.PB被WEB 服务器激活后,调PowerBuilder的服务器应用,执行在服务器应用中定义的方法,实现业务逻辑,如下图所示:
上传按钮代码:
2 PowerBuilder虚拟文件系统
网页部署后,打开浏览器,输入URL: http://localhost/pb_myweb/进行测试。单击上传按钮后出现的文件上传页面:
在文件列表中选择要下载的文件,单击下载按钮,出现下面的文件下载保存窗口,选择要保存的路径即可:
共享模式下,系统将根据需要将common目录中的文件复制到当前会话产生的临时交互目录中,复制模式下,当发生第一个对文件相关操作时,common目录下的所有子目录及文件都会一次性复制到当前会话产生的临时交互目录中;系统还提供了一种兼容机制,如果common目录下的文件与当前会话中的文件重名的时候,只会显示、处理当前会话目录中的文件。
用户的浏览器完全关闭后,当前会话结束,IIS中有关该会话的临时交互目录及所有子目录、文件都将自动清除[3]。
由上述虚拟文件系统的介绍可以得知,每个用户打开浏览器后看到的文件都是基于各自会话对应的目录,上传与下载的目录也是在各自的会话目录中进行,且会话结束后,上传的文件也会被删除,由Sybase提供的文档我们也可以得知,web下的filecopy与filemove之类的文件操作函数调用也是基于其虚拟文件系统,所有的文件操作也只会在当前会话目录中,有什么办法能使文件存储到实际的桌面文件系统中指定的目录吗?
3 使用PowerBuilder开发COM组件
经过一段时间的摸索,笔者找到了一种比较好的办法:通过com去实现虚拟文件系统与桌面文件系统的文件互操作,大致的流程是这样的:通过web提供的MapVirtualPath函数到得虚拟文件系统中的文件对应于实际的桌面文件系统中的路径,再通过com组件来实现文件在虚拟文件系统与桌面文件系统中的复制与移动操作。这里我们采用PowerBuilder来编写所需的com组件,主要设计界面及代码如下:
com组件的一些参数:
文件移动代码:
com组件部署时选择编译成功后自动注册选项就可以了,如下图:
Of_move函数用于将一组文件转移到指定的目录中,代码如下:
按照原来的方式上传三个文件,结果如下:
可以看到通过com组件已经把文件中虚拟目录中转移到桌面文件系统中的指定目录,编程人员可以利用com组件扩充其他的文件操作,以满足实际WEB应用的需要。
4 结束语
文件的上传与下载是WEB应用开发中的一个基本需求,本文以示例简述使用PB实现文件上传与下载。随着计算机网络技术和数据库技术以及Powerbuilder 开发平台技术的发展,基于WEB的应用已是大势所趋。因此,掌握新技术、利用新术,才能开发出满足用户需求、适应潮流发展的应用程序。
参考文献
[1]肖兵.PowerBuilder Internet技术详解[M].北京:电子工业出版社,2002.
[2]戴小波.PowerBuilder开发WEB应用实例[J].河北软件职业技术学院学报,2005,7(3):61-63.
[3]郑阿奇.PowerBuilder实用教程(第3版)[M].北京:电子工业出社,2009.
关键词:WEB应用;PowerBuilder;COM组件
随着计算机网络技术的日趋成熟,以及Internet的迅速发展,对数据库信息的处理已经渐渐地由Client/Server模式转向Browser/Server模式,基于WEB方式的计算机应用已是大势所趋。开发B/S结构应用程序的工具很多,PowerBuilder就是Sybase公司推出的用于企业级应用的开发工具[1]。
文件的上传与下载是WEB应用开发中的一个基本需求。本文以示例简述PB的WEBFROM下文件上传与下载的实现,内容涉及如何使用PowerBuilder建立WEB应用、使用PowerBuilder开发COM组件、PowerBuilder虚拟文件系统,以及WEB方式下文件的上传与下载。
1 PowerBuilder建立WEB应用[2]
PowerBuilder的WEB应用构建前提是分布式应用体系。PowerBuilder的客户端应用分布到WEB 服务器上,可将Web.PB看作为客户端应用。当客户端应用Web.PB被WEB 服务器激活后,调PowerBuilder的服务器应用,执行在服务器应用中定义的方法,实现业务逻辑,如下图所示:
上传按钮代码:
2 PowerBuilder虚拟文件系统
网页部署后,打开浏览器,输入URL: http://localhost/pb_myweb/进行测试。单击上传按钮后出现的文件上传页面:
在文件列表中选择要下载的文件,单击下载按钮,出现下面的文件下载保存窗口,选择要保存的路径即可:
共享模式下,系统将根据需要将common目录中的文件复制到当前会话产生的临时交互目录中,复制模式下,当发生第一个对文件相关操作时,common目录下的所有子目录及文件都会一次性复制到当前会话产生的临时交互目录中;系统还提供了一种兼容机制,如果common目录下的文件与当前会话中的文件重名的时候,只会显示、处理当前会话目录中的文件。
用户的浏览器完全关闭后,当前会话结束,IIS中有关该会话的临时交互目录及所有子目录、文件都将自动清除[3]。
由上述虚拟文件系统的介绍可以得知,每个用户打开浏览器后看到的文件都是基于各自会话对应的目录,上传与下载的目录也是在各自的会话目录中进行,且会话结束后,上传的文件也会被删除,由Sybase提供的文档我们也可以得知,web下的filecopy与filemove之类的文件操作函数调用也是基于其虚拟文件系统,所有的文件操作也只会在当前会话目录中,有什么办法能使文件存储到实际的桌面文件系统中指定的目录吗?
3 使用PowerBuilder开发COM组件
经过一段时间的摸索,笔者找到了一种比较好的办法:通过com去实现虚拟文件系统与桌面文件系统的文件互操作,大致的流程是这样的:通过web提供的MapVirtualPath函数到得虚拟文件系统中的文件对应于实际的桌面文件系统中的路径,再通过com组件来实现文件在虚拟文件系统与桌面文件系统中的复制与移动操作。这里我们采用PowerBuilder来编写所需的com组件,主要设计界面及代码如下:
com组件的一些参数:
文件移动代码:
com组件部署时选择编译成功后自动注册选项就可以了,如下图:
Of_move函数用于将一组文件转移到指定的目录中,代码如下:
按照原来的方式上传三个文件,结果如下:
可以看到通过com组件已经把文件中虚拟目录中转移到桌面文件系统中的指定目录,编程人员可以利用com组件扩充其他的文件操作,以满足实际WEB应用的需要。
4 结束语
文件的上传与下载是WEB应用开发中的一个基本需求,本文以示例简述使用PB实现文件上传与下载。随着计算机网络技术和数据库技术以及Powerbuilder 开发平台技术的发展,基于WEB的应用已是大势所趋。因此,掌握新技术、利用新术,才能开发出满足用户需求、适应潮流发展的应用程序。
参考文献
[1]肖兵.PowerBuilder Internet技术详解[M].北京:电子工业出版社,2002.
[2]戴小波.PowerBuilder开发WEB应用实例[J].河北软件职业技术学院学报,2005,7(3):61-63.
[3]郑阿奇.PowerBuilder实用教程(第3版)[M].北京:电子工业出社,2009.