不用组件上载文件代码具体例子
发表于:2007-06-30来源:作者:点击数:
标签:
不用组件上载文件代码具体例子 下面的第一个例子为只是将客户端的文件上传到服务端的例子 第二个例子为将文件内容保存入 数据库 中。 文件fupload.asp % dim ResultHTML @#Some value greater than default of 60s (According to upload size.) @#The maximum
不用组件上载文件代码具体例子
下面的第一个例子为只是将客户端的文件上传到服务端的例子
第二个例子为将文件内容保存入
数据库中。
文件fupload.asp
<%
dim ResultHTML
@#Some value greater than default of 60s (A
clearcase/" target="_blank" >ccording to upload size.)
@#The maximum speed is about 100kB/s for IIS4, P200 and local upload, 4kB/s for modem users.
Server.ScriptTimeout = 400
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then @#Request method must be "POST" for get the fields
@# BeginTimer @#Starts timer.
@#************************************************* Main Upload - start
Dim Fields
@# on error resume next
@#Set upload limit to 10M
UploadSizeLimit = 10000000
@#Gets uploaded fields
Set Fields = GetUpload()
@#There are all of form fields in the Fields object. Example :
@#Fields("File1").ContentType - content type of File1 field
@#Fields("File1").Value - Binary value of File1 field
ResultHTML = ""
If Err = 0 Then @#Upload was OK
@#Write statistics about upload
dim Field
For Each Field In Fields.Items
ResultHTML = ResultHTML & "
Field : <b>" & LogF(Field.name) & "</b>, Length : <b>" & LogFn(Field.Length) & "</b>, Content-Type : <b>" & LogF(Field.ContentType) & "</b>, SourceFileName :?b>" & LogF(Field.FileName) & "</b>"
Next
@#Saves the fields to the disk, writes result to the client and writes log.
@#See utils.inc. You can change the function to save the files to another location.
ResultHTML = ResultHTML & "<BR>" & SaveUpload(Fields, Server.MapPath("."), LogFolder)
Else @#Error in upload. Write the error
ResultHTML = ResultHTML & "
Error : " & Err.Description
End If
On Error GoTo 0
Fields = Empty @#Clear the variable
@#************************************************* Main Upload - end
@# EndTimer @#Writes info about consumed time.
End If @#Request method must be "POST"
%>
<%@#upload.inc, contains GetUpload function, Required for upload - only the one file%>
<!--#INCLUDE FILE="fupload.inc"-->
<%@#utils.inc, contains SaveUpload function%>
<!--#INCLUDE FILE="futils.inc"-->
<%@#format.inc, contains head and Foot function, optional.%>
<!--#INCLUDE FILE="fformat.inc"-->
<%=Head("Sample multiple binary files upload via ASP", "Demonstrates using of the ByteArray class for working with binary data from Request.BinaryRead.")%>
<Table>
<form method=post ENCTYPE="multipart/form-data">
<TR BGColor=Silver><
TD></TD><TD Align=Right><input type="submit" Name="Action" value="Upload the files >>"></TD></TR>
<TR><TD ColSpan=2>
<Table Width=100% Border=0 cellpadding=0 cellspacing=0><tr><TD>
<Div ID=files>
File???input type="file" name="File1">
File???input type="file" name="File2">
</Div>
<TD><TD Align=right VAlign=top>
<A style=cursor:hand onclick=return(Expand())><Font COlor=Blue><U>add a file</U></Font></a>
</TD></TR></Table>
</TD></TR>
<TR><TD>Checkbox</TD><TD><input type="CHECKBOX" name="Check1" Checked></TD></TR>
<TR><TD>Password</TD><TD><input type="PASSWORD" name="PASSWORD"></TD></TR>
<TR><TD>Comments</TD><TD><input size="60" name="Comments" value="Some comments."></TD></TR>
<TR><TD>Description</TD><TD><textarea cols="60" rows="8" name="Description">Some long text of any size - without 80k limit of ASP Request.Form("...").</textarea></TD></TR>
</form>
</Table>
<HR>?%=ResultHTML%>
<Script>
var nfiles = 2;
function Expand(){
nfiles++
files.insertAdjacentHTML(@#BeforeEnd@#,@#<BR>File?+nfiles+@#??input type="file" name="File@#+nfiles+@#">@#);
return false
}
</Script>
<%=Foot%>
文件fdbutl.asp将文件内容保存如数据库中
<%@#upload.inc, contains GetUpload function, Required for upload - only the one file%>
<!--#INCLUDE FILE="fupload.inc"-->
<%@#format.inc, contains head and Foot function, optional.%>
<!--#INCLUDE FILE="fformat.inc"-->
<%=Head("Sample database upload via ASP", "Demonstrates using of the ByteArray class for working with binary data from Request.BinaryRead.")%>
<Table>
<form method=post ENCTYPE="multipart/form-data">
<TR><TD></TD><TD Align=Right><input type="submit" Name="Action" value="Upload the file >>"></TD></TR>
<TR><TD>File to upload</TD><TD><input type="file" name="DBFile"></TD></TR>
<TR><TD>Title</TD><TD><input size="60" name="Title" value="Title of the file."></TD></TR>
<TR><TD>Description</TD><TD><textarea cols="60" rows="8" name="Description">Type description of the file.</textarea></TD></TR>
</form>
</Table>
<%=Foot%>
<SCRIPT RUNAT=SERVER LANGUAGE=
VBSCRIPT>
@#Some value greater than default of 60s (According to upload size.)
@#The maximum speed is about 100kB/s for IIS4, P200 and local upload, 4kB/s for modem users.
Server.ScriptTimeout = 200
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then @#Request method must be "POST" for get the fields
@#************************************************* Main Upload - start
Dim Fields
@# on error resume next
@#Gets uploaded fields
Set Fields = GetUpload()
@#There are all of form fields in the Fields object. Example :
@#Fields("File1").ContentType - content type of File1 field
@#Fields("File1").Value.String - File1 field converted to a string
@#Fields("File1").Value.ByteArray - File1 field as safearray to store in binary RS field or file
@#Fields("Comments").Value.String - value of Comments field
If Err = 0 Then @#Upload was OK
@#Saves fields to the database and returns result to the client.
Response.Write DBSaveUpload(Fields)
Else @#Error in upload. Write the error
Response.Write Err.Description
End If
On Error GoTo 0
Fields = Empty @#Clear the variable
@#************************************************* Main Upload - end
End If @#Request method must be "POST"
function DBSaveUpload(Fields)
dim Conn, RS
Set Conn = GetConnection
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "Upload", Conn, 2, 2
RS.AddNew
RS("UploadDT") = Now()
RS("RemoteIP") = Request.ServerVariables("REMOTE_ADDR")
RS("ContentType") = Fields("DBFile").ContentType
RS("SouceFileName") = Fields("DBFile").FileName
RS("Description") = BinaryToString(Fields("Description").Value)
RS("Title") = BinaryToString(Fields("Title").Value)
RS("Data").AppendChunk Fields("DBFile").Value
RS.Update
RS.Close
Conn.Close
DBSaveUpload = "
File <b>" & Fields("DBFile").FileName & "</b>, length : <b>" & Fields("DBFile").Length & " B</b> was saved to the database. "
end function
function GetConnection()
dim Conn, AuthConnectionString
Set Conn = Server.CreateObject("ADODB.Connection")
@#MDB connection
AuthConnectionString = "DBQ=" & Server.MapPath(".") & "\fupload.mdb;DefaultDir=" & Server.MapPath("/") & ";" & _
"Driver={Microsoft Access Driver (*.mdb)}; DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5;UID=;"
Conn.open AuthConnectionString
@#SQL connection
@#Simply change connection and create table to upload to MS SQL
@# Conn.Provider = "SQLOLEDB"
@# Conn.Open "Server=(Local);Database=Auth", "sa", "password"
set GetConnection = Conn
end function
function CreateUploadTable(Conn)
dim SQL
SQL = SQL & "CREATE TABLE Upload ("
SQL = SQL & " UploadID int IDENTITY (1, 1) NOT NULL ,"
SQL = SQL & " UploadDT datetime NULL ,"
SQL = SQL & " RemoteIP char (15) NULL ,"
SQL = SQL & " ContentType char (64) NULL ,"
SQL = SQL & " SouceFileName varchar (255) NULL ,"
SQL = SQL & " Title varchar (255) NULL ,"
SQL = SQL & " Description text NULL ,"
SQL = SQL & " Data image NULL "
SQL = SQL & ")"
Conn.Execute SQL
end function
</SCRIPT>
原文转自:http://www.ltesting.net