
ASP实现文件上传的方法
在ASP中,文件上传是一个常见的需求,本文将详细介绍三种ASP文件上传方法:服务器组件上载、无组件上载和浏览器组件上载,每种方法都有其优缺点及适用场景,读者可以根据自己网站的条件和需求来选择合适的方法。
### 一、服务器组件上载方式
#### 1.
服务器组件上载方式以sa-fileup组件、aspupload组件、lyfupload组件为代表,这些组件实现了各种文件上载所需要的功能,如上载大文件、限制上载文件的大小、上载多个文件、显示上载进度条、能够将文件保存到数据库中等。
#### 2. 优点
运行稳定,功能强大
对浏览器没有任何要求
#### 3. 缺点
需要在服务器上注册组件,如果网站管理员对服务器拥有管理权限,则该方法应该是首选。
#### 4. 示例代码
“`asp
<%
Dim upload, file, formPath, path, fileName, iNum, iCnt, iSize, iRandomNum, myFileName, myFileSaveName, iFreeFileName, iError, iUploadedSize, iFormData, iFormKey, iFormValue, objFSO
Set upload = Server.CreateObject(“Persits.Upload.1”)
Set file = upload.RequestBinField(“file”, GetByteArray(“file”))
path = Server.MapPath(“.”) & “\upload”
If Not FileSystemObj.FolderExists(path) Then MkDir path
myFileName = PathExtractFileName(file.FileName)
myFileSaveName = path & “\” & myFileName
Call file.Save(myFileSaveName)
Response.Write “
文件上传成功!
“
Set upload = Nothing
Set file = Nothing
%>
Sub GetByteArray(strFile)
Dim binStream, byteArr()
Set binStream = CreateObject(“ADODB.Stream”)
binStream.Type = 1 ‘二进制类型
binStream.Open
binStream.LoadFromFile Server.MapPath(“.” & strFile)
byteArr = binStream.Read()
binStream.Close
GetByteArray = byteArr
End Sub
%>
“`
### 二、无组件上载方式
#### 1.
无组件上载方式以化境无组件上传、无惧无组件上传、先锋无组件上传等为代表,这种方法是网络上应用最多最广的方法,并且有很多应用实例的源代码。
#### 2. 优点
对服务器和浏览器均没有任何要求,适应性强,应用范围广。
#### 3. 缺点
上载文件的时候没有进度条的显示,并且IIS默认不支持大文件上传(>200K)。
#### 4. 示例代码
“`asp
<%@ Language="VBScript" CodePage="936" %>