新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Oracle, SQL Server与XML,XML在数据挖掘中的应用, PMML.
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 XML 与 数据库 』 → XML技术实现文件上传(转贴) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 8547 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML技术实现文件上传(转贴) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     goodyu 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:8
      积分:112
      门派:XML.ORG.CN
      注册:2006/8/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给goodyu发送一个短消息 把goodyu加入好友 查看goodyu的个人资料 搜索goodyu在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看goodyu的博客楼主
    发贴心情 XML技术实现文件上传(转贴)

    本文讲解了一个使用XML技术上传文件的例子,使用该方法没有传统方法中的种种限制。 这个例子讲述了如何使用MSXML3.0和ADO Stream对象来实现这种新的上传方法。好处有很多,比如,不需要专用的上传组件。


    引言

    为了在HTML网页中获得上传功能,在客户端我们可以使用如下格式的FORM:

    < FORM NAME="myForm" ACTION="TargetURL.asp" ENCTYPE="multipart/form-data"METHOD="post" >
    < INPUT TYPE="file" NAME="myFile" >
    < INPUT TYPE="submit" VALUE="Upload File" >
    < /FORM >

      这种方案在客户端和服务器端的使用都有很多限制。首先,我们必须使用POST方法,因为GET方法无法处理这样的表单数据。并且,没有什么方法可以在不使用表单的情况下引发一个POST动作。把数据发送给表单处理程序后,浏览器将会把处理程序作为新页面加载,然后使用者会看到一个不讨人喜欢的页面转换过程。

      ENCTYPE属性为表单定义了MIME编码方式,上传文件的表单的ENCTYPE属性必须使用“multipart/form-data”。把这个属性设置为“multipart/form-data”就创建了一个与传统结构不同的POST缓冲区(复合结构),ASP的Request对象无法访问这样的表单内容。所以,我们可以使用Request.binaryRead方法来访问这些数据,但是无法使用脚本语言来完成这一切。Request.binaryRead方法返回一个VTarray型数据(只包含无符号一字节字符的Variant型数组)。但是脚本语言只能处理Variant型数据。为了解决这个问题,只能使用专用的ASP上传组件,或者ISAPI扩展程序,比如CPSHOST.DLL。这是设计上的限制。

    新的上传方案

    需要按照如下步骤操作。
    客户端:

    使用MSXML 3.0创建一个XML文档
    创建一个针对二进制内容的XML节点
    使用ADO Stream object将上传的文件数据放入该节点
    使用XMLHTTP对象把这个XML文档发送给Web服务器


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/8/12 17:40:00
     
     knightfym 帅哥哟,离线,有人找我吗?处女座1985-9-5
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/1/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给knightfym发送一个短消息 把knightfym加入好友 查看knightfym的个人资料 搜索knightfym在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看knightfym的博客2
    发贴心情 
    有什么地方可以上传xml啊??
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/1 21:07:00
     
     knightfym 帅哥哟,离线,有人找我吗?处女座1985-9-5
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/1/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给knightfym发送一个短消息 把knightfym加入好友 查看knightfym的个人资料 搜索knightfym在『 XML 与 数据库 』的所有贴子 引用回复这个贴子 回复这个贴子 查看knightfym的博客3
    发贴心情 
    以下是引用knightfym在2007-1-1 21:07:00的发言:
    有什么地方可以上传xml啊??


    原来没有权限.....
    什么时候才可以上传文件啊?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/1 21:17:00
     
     GoogleAdSense处女座1985-9-5
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML 与 数据库 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/12/18 2:11:18

    本主题贴数3,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.012ms