使用XML技术上传文件的例子(2)_Xml教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:一个以Javascript xml的树型列表
  这是在www.java2s.com网站下载的一个以Javascript xml的树型列表,这个列表界面非常的漂亮,但是由于里面内容比较复杂,而现在项目需要用到这个列表,我到现在还没有摸清怎么在里面让点击一

新的上传方案

需要按照如下步骤操作。

客户端:

使用MSXML 3.0创建一个XML文档

创建一个针对二进制内容的XML节点

使用ADO Stream object将上传的文件数据放入该节点

使用XMLHTTP对象把这个XML文档发送给Web服务器

服务器端:

从Request对象中读出XML文档

读出二进制节点中的数据并且存储到服务器上的文件中。当然,我们也可以将其存储到数据库的BLOB型字段中。

在解释这段代码之前,我们可以对这个方案进行一些思考。

对XML的思考

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

obj_node.dataType - 该可读写的属性定义了特定节点的数据类型。MSXML解析器支持更多的数据类型(参见MSDN:http://msdn.microsoft.com/library/psdk/xmlsdk/xmls3z1v.htm)

对于二进制数据,我们可以使用“bin.base64”类型。

obj_node.nodeTypedValue - 该可读写属性包含了按照制定类型表示的指定节点的数据。

我们可以创建一个包含多个bin.base64类型节点的XML文档,节点中包含上传的文件。这点特性可以使用一个POST一次上传多个文件。

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

分享:xml中的空格之完全解说
在xml输入文件中决定哪些空格是重要的,xslt处理器要看见这些空格结点。而决定的密钥就是xml:space属性。 只适合对xml文件结构有一定了解的学者,不适合初学者。请按从上至下的顺序阅读

来源:模板无忧//所属分类:Xml教程/更新时间:2008-08-22
相关Xml教程