基于PowerBuilder下Web文件的传输实现

来源 :软件工程师 | 被引量 : 0次 | 上传用户:hml9061
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文件的上传与下载是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.
其他文献
目的:观察炙甘草汤加减治疗室性早搏的疗效。方法:以炙甘草汤为基本方加减治疗室性早搏31例。结果:总有效率94%。提示:以炙甘草汤加减治疗室性早搏疗效满意。
政府信息网络化是指政府基于计算机网、通信网、有线电视网三位一体的融合网络,对政府服务理念更新、决策体制优化、组织结构的再造及政府内部、政府与社会、政府与公民之间
讨论奥地利1994年税收改革对经济发展状况的影响。强调指出,1994年的改革涉及有关发展所有工农业部门的广泛征税问题。征税既涉及工业企业,也涉及私人消费者。专家认为,征税有可