WEB开发网:服务器端:  从Request对象中读出XML文档读出二进制节点中的数据并且存储到服务器上的文件中。当然,我们也可以将其存储到数据库的BLOB型字段中。  在解释这段代码之前,我们可以对这个方案进行一
赞助商链接
中资源
>> 最新文章
>> 赞助商
>> 热门文章
WEB开发网文章阅读

XML技术上传文件2

作者:未知 文章来源:WEB开发者 更新时间:2008-3-4 15:12:49
服务器端:

  从Request对象中读出xml(标准化越来越近了)文档读出二进制节点中的数据并且存储到服务器上的文件中。当然,我们也可以将其存储到数据库的BLOB型字段中。
  在解释这段代码之前,我们可以对这个方案进行一些思考。

对xml(标准化越来越近了)的思考

  xml(标准化越来越近了)格式支持很多数据类型,比如numeric, float, character等等。很多作者将xml(标准化越来越近了)定义为ASCII格式,但是我们不能忽视,xml(标准化越来越近了)技术还可以使用“bin.base64”数据类型来描述二进制信息。这个特性在MS xml(标准化越来越近了)3.0解析器重得到完全的支持,但是目前还需要一些特别设置。该对象提供一些可以对二进制数据进行完全控制的属性:

  obj_node.dataType - 该可读写的属性定义了特定节点的数据类型。MSxml(标准化越来越近了)解析器支持更多的数据类型(参见MSDN:http://msdn.microsoft.com/library/psdk/xml(标准化越来越近了)sdk/xml(标准化越来越近了)s3z1v.htm)
对于二进制数据,我们可以使用“bin.base64”类型。

  obj_node.nodeTypedValue - 该可读写属性包含了按照制定类型表示的指定节点的数据。
我们可以创建一个包含多个bin.base64类型节点的xml(标准化越来越近了)文档,节点中包含上传的文件。这点特性可以使用一个POST一次上传多个文件。

  我们可以使用xml(标准化越来越近了)HttpRequest对象和POST方法发送一个xml(标准化越来越近了)文档给Web服务器。该对象为HTTP服务器提供了客户端协议支持,允许在Web服务器上发送和接受MS xml(标准化越来越近了)DOM对象。xml(标准化越来越近了)HttpRequest是Internet Explorer 5内置的COM对象(不需要定制安装),并且发送完毕后无需转换页面。


对ADO Stream对象的思考

  我们可以在客户端创建一个包含一个或者多个二进制节点的xml(标准化越来越近了)文档。我们还必须把文件内容填入节点中。但是很不幸,脚本语言不能访问本地文件系统,并且Scripting.FileSystem对象(是Win32系统的内置对象)到目前为止还不能访问二进制文件。这是设计上的限制。所以我们需要另外找一个可以提供对本地二进制文件的访问的COM对象。

  ADO Stream对象(MDAC 2.5中的组件)提供了读、写和管理二进制流数据的手段。字节流的内容可以是文本,或者二进制数据,并且没有容量上的限制。在ADO 2.5中,Microsoft对Stream对象的介绍不属于ADO对象结构的任何一层,所以,我们无需捆绑即可使用该对象。

  本文中使用Stream对象来访问文件内容,再把内容存入xml(标准化越来越近了)节点。
百度搜索中共有相关主题
[阅读:次] [返回上一页] [打 印]
  • 相关文章
  • 本类热门