我爱Aspx >> C#.Net >> ASP无组件上传进度条解决方案
我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,我们通过<input type="file">元素,但是一定要注意必须设置form的enctype属性为"multipart/form-data": <form method="post" action="upload.ASP" enctype="multipart/form-data"> <label> <input type="file" name="file1" /> </label> <br /> <input type="text" name="filename" value="default filename"/> <br /> <input type="submit" value="Submit"/> <input type="reset" value="Reset"/> </form> 后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易。但是如果需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取。BinaryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的是,一旦使用BinaryRead 方法后,再也不能使用Request.Form 或 Request.QueryString 集合了。结合Request对象的TotalBytes属性,可以将所有表单提交的数据全部变成二进制,不过这些数据都是经过编码的。首先让我们来看看这些数据是如何编码的,有无什么规律可循,编段代码,在代码中我们将BinaryRead读取的二进制转化为文本,输出出来,在后台的upload.asp中(注意该示例不要上传大文件,否则可能会造成浏览器死掉): <% Dim biData, PostData Size = Request.TotalBytes biData = Request.BinaryRead(Size) PostData = BinaryToString(biData,Size) Response.Write "<pre>" & PostData & "</pre>" '使用pre,原样输出格式 ' 借助RecordSet将二进制流转化成文本 Function BinaryToString(biData,Size) Const adLongVarChar = 201 Set RS = CreateObject("ADODB.Recordset") RS.Fields.Append "mBinary", adLongVarChar, Size RS.Open RS.AddNew RS("mBinary").AppendChunk(biData) RS.Update BinaryToString = RS("mBinary").Value RS.Close End Function %>
简单起见,上传一个最简单的文本文件(G:\homepage.txt,内容为"宝玉:http://www.webuc.net")来试验一下,文本框filename中保留默认值"default filename",提交看看输出结果: -----------------------------7d429871607fe Content-Disposition: form-data; name="file1"; filename="G:\homepage.txt" Content-Type: text/plain 宝玉:http://www.Webuc.net -----------------------------7d429871607fe Content-Disposition: form-data; name="filename" default filename -----------------------------7d429871607fe--
Ҷƪл˵?
ASP利用Google实现在线翻译功能[05-12]
ASP正则表达式详解[05-12]
ASP Charge 组件的例程[05-12]
VBS、ASP代码语法加亮显示的类(2..[05-12]
ASP 3.0高级编程(四)[05-12]
ASP实用大全-ASP服务器组件(7)[05-12]
WAP中的ASP技术之一[05-12]
让ASP应用系统成为跨平台的应用系..[05-12]
ASP内置对象 Request对象 详解[05-12]
一些Asp技巧和实用解决方法[05-12]
ASP利用Google实现在线翻译功能[05-12]
ASP正则表达式详解[05-12]
用Visual C++实现屏幕抓图程序[05-12]
代码演示在菜单中加入广播按钮[05-12]
CGI教程(8)记录用户记录脚本之一[05-12]
一个用JSP实现的分页的类及调用方..[05-12]
使用PHP的错误处理[05-12]
学编程的人不能不看的好文章(1)[05-12]
Javascript无限分类算法的实现[05-12]
ASP Charge 组件的例程[05-12]