上一篇:ASP直接生成文本文件供客户端下载
下一篇:TWebBrowser禁止弹出Alert对话框

ASP读取客户端文本文件

发布于: 2014/12/24 9:12:09   |  发布在: ASP文章   |  点击:

说明:本文一些代码来自网络,根据自己的需要稍作改变,并非本人原创;由于来源较多,没有一一说明代码出处,特此说明!

ASP代码功能描述:让用户从客户端上传一个文本文件,然后ASP程序获取该文件内容;因为只是临时获取数据,并不需要将该文件长期保存在服务器端,所以只是从客户端上传的数据流中获取数据,并不保存文件。实现部分主要有两段代码,首先使用艾恩的无组上传类将用户上传的数据流中分离出文件数据流(没有用到该类的保存文件功能),然后使用BinaryToString函数将二进制流转换成文本字符串进行需要的数据处理。这两段代码皆来自网络,本人稍加组合。

1. 客户端上传文件的网页(upload.htm)

<form method="post" action="upload.asp" enctype="multipart/form-data">
<label>请选择要加载的文件
  <input type="file" name="file1" />
</label>
<input type="submit" value="Submit"/>
</form> 

2. 处理用户上传的文件(upload.asp)

<!--#include file="UpLoad_Class.asp"-->
<%
dim upload
 set upload = new AnUpLoad
 upload.Exe = "*.txt;*.csv"
 upload.MaxSize = 2 * 1024 * 1024 '2M
 upload.GetData()
 if upload.ErrorID>0 then
  response.Write upload.Description
 else
  dim file, Lines, i
  set file = upload.Files("file1")
  if file.isfile then
   Lines = Split(BinaryToString(file.getbytes,file.size),vbcrlf)
   for i=0 to UBound(Lines)
    Response.Write(Lines(i) & "<br \>") '循环显示每一行
   next
  end if
 end if
 set upload = nothing

Function BinaryToString(biData,Size) '二进制流转文本字符串的函数
Dim Rs
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
 Set Rs = Nothing
End Function
%>

3. 包含文件(艾恩无组件上传类)

UpLoad_Class.rar

客户端文件文本