用ASP和VBScript上载文件(一)

gold金金金

gold金金金

2016-01-29 19:26

用ASP和VBScript上载文件(一),用ASP和VBScript上载文件(一)
      
  青苹果电脑工作室
    从浏览器上载文件是从客户机向服务器传递文件的一个简易方法。从第三代浏览器Netscape和 Microsoft起,多数浏览器都可以向服务器上载文件,而不需要向用户提供特殊的访问方式或软件。
  
  一些ASP组件是为文件上载而设计的,例如:
  Posting Acceptor
  ( Microsoft SiteServer的一部分),
  AspSmartUpload(Advantys),
  AspUpload (PersistsSoftware),
  SA-FileUpSoftware Artisants)
  
    本文的开始将告诉你关于创建这类组件的信息,而这些组件通常使用VB、C++或Java。
  
    这些组件的问题在于它们是第三方产品而非标准ASP的一部分。作为第三方组件,必须在服务器上进行安装。这就意味着必须在服务器上复制DLL并注册。大多数的主机系统不允许在他们的服务器上进行这样的设置,因为有可能发生配置问题(尤其是虚拟主机)。第二个缺点是它们大部分不是免费的,不提供源代码,也就不能根据需要进行定制。
  
    因此我需要编写VBScript代码来解决文件上载的问题。这不是一个必然的选择,因为VBScript是一种脚本语言,只能使用variants数据类型,并且不能提供许多管理二进制数据和字节数组的内置函数。
  
    要理解上载的过程,首先要知道数据用HTTP协议从浏览器发送到服务器的方式。这就意味着要理解“ multipart/form-data” (多部分/格式-数据)的表单提交。
  
  上载表单
  
    通常情况下,使用HTML表单从浏览器向服务器传递数据。这个表单中可能包含文本域、检验框、按钮以及上载文件的文件类型控制。使用者用自己的数据填充并将这个表提交给服务器。
  
    表单元素中的 enctype 属性规定了传递给服务器的表数据集编码的内容类型。enctype 属性的默认值是“application/x-www-form-urlencoded”,但当向服务器传送大量文本、包含非ASCII字符或二进制数的数据时,这个默认类型就不能胜任了。这时,文件上载提交表单时应使用“multipart/form-data”内容类型。
  
    一个“multipart/form-data”信息包含一系列部件,每个部件都可能包含:
  一个Content-Disposition(内容-处理)头,其值为"form-data" ;一个规定控制名的name(名称)属性。
  
    对于一个文件类型控制,一个部件可能包含更多信息:
  在客户机上规定原始路径和文件名的filename(文件名)属性;所发送的二进制数据控制的Content-Type (内容-类型)头。
  
    在这些头的后面跟随着控制的二进制或文本内容。
  
    以下例子说明“multipart/form-data”的编码,客户机的浏览器应有这个表单:
  
  如果这个表单被提交,在服务器上可读到这些请求:
  
  -----------------------------7cf87224d2020a
  Content-Disposition: form-data; name="email"
  PhCollignon@email.com
  -----------------------------7cf87224d2020a
  Content-Disposition: form-data; name="blob"; filename="c:image.gif"
  Content-Type: image/pjpeg
  
  -----------------------------7cf87224d2020a
  Content-Disposition: form-data; name="Enter"
  Submit Query
  -----------------------------7cf87224d2020a--
  
    当那个内容作为响应被传送回客户机时就会被显示出来。应该用Request.binaryRead 和Response.binaryWrite 方法读和写二进制数据。
  
  〈%
  Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
  %〉
  
  可以看到响应的各部分用分界线来划分:
  -----------------------------7cf87224d2020a
  最后一个分界线后面跟随的是’ -- ’ 。
  
    每一个控制都有一个Content-Disposition 。name属性识别由HTML表发送的控制(email、blob和Enter)。 对于一个文件类型控制(blob),
  文件名也是Content-Disposition 头的一部分,Content-Type 头给出二进制 数据的内容类型。
  
  上载脚本
  
    上面所有内容都必须经过分解。在VB 或 C++中, 这非常
展开更多 50%)
分享

猜你喜欢

用ASP和VBScript上载文件(一)

ASP
用ASP和VBScript上载文件(一)

用ASP和VBScript上载文件(二)

ASP
用ASP和VBScript上载文件(二)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

深入研究“用ASP上载文件”(一)

ASP
深入研究“用ASP上载文件”(一)

深入研究“用ASP上载文件”(二)

ASP
深入研究“用ASP上载文件”(二)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

HTTP方式上载文件的ASP程序实例

ASP
HTTP方式上载文件的ASP程序实例

Oracle三种上载文件技术

编程语言 网络编程
Oracle三种上载文件技术

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Photoshop鼠绘教程:设计绘制逼真可口的橙子全过程

Photoshop鼠绘教程:设计绘制逼真可口的橙子全过程

实现聊天室的悄悄话功能(上)

实现聊天室的悄悄话功能(上)
下拉加载更多内容 ↓