首页 > 开发 > 综合 > 正文

LyfUpload组件方法介绍

2024-07-21 02:04:04
字体:
来源:转载
供稿:网友
组件方法介绍: 

Request方法 

得到上一个页面中表单元素的值; 

声明: 

Public Function Request(nm As String) 

返回值: 

为元素的值,字符串类型; 

FileType方法 

得到上传文件的Content-Type 

声明: 

Public Function FileType(strTag As String) 

参数介绍: 

strTag为Form中文件元素的名字,如"File1": 

返回值: 

文件上传成功,返回文件的Content-Type 

不成功,返回为"" 

SaveFile方法(1.2版更改) 

上传客户端选择的文件 

声明: 

SaveFile(strTag As String, strPath As String,strway as boolean, Optional DestFileName As String) As String 

参数介绍: 

strTag为Form中文件元素的名字,如"File1": 

strPath为要文件保存在本机的目录; 

strway为上传文件方式,覆盖方式上传为true,不覆盖上传为false; 

DestFileName(可选参数),代表文件上传后重命名保存的名字; 

返回值: 

成功,返回上载的文件的名字; 

不成功,如果上传失败,返回为""; 

不成功,如果上传文件后缀不对,返回为"0"(当设置了extName属性时有效); 

不成功,如果上传文件的大小太大,返回为"1"(当设置了MaxSize属性时有效); 

不成功,如果上传文件同服务器上已有文件相同,返回为"2"(当设置了参数strway为false时有效); 

SaveFileToDb方法 (1.1版新功能) 

上传各类文件到数据库中(同savefile方法不同的是直接保存文件到数据库中而不保存为盘文件) 

声明: 

SaveFile(strTag As String) As String 

参数介绍: 

strTag为Form中文件元素的名字,如"File1"; 

返回值: 

成功,返回上载的文件的名字; 

不成功,如果上传失败,返回为""; 

不成功,如果上传文件后缀不对,返回为"0"(当设置了extName属性时有效); 

不成功,如果上传文件的大小太大,返回为"1"(当设置了MaxSize属性时有效); 

About方法 

显示LyfUpload组件的作者及版本号等信息 

调用: 

<% 
dim ss 

Set ss = Server.CreateObject("LyfUpload.UploadFile") ’创建LyfUpload组件对象 

ss.about 

%> 

三、组件属性介绍 

ExtName属性 

限制上载文件的类型; 

调用: 

Set obj = Server.CreateObject("LyfUpload.UploadFile") 

obj.extname="gif"  ’设置文件上传只能是gif文件 

obj.extname="gif,jpg,bmp"  ’多文件类型请用","隔开 

MaxSize属性 

限制上载文件的大小; 

调用: 

Set obj = Server.CreateObject("LyfUpload.UploadFile") 

obj.maxsize=2048 ’设置文件上传的最大为2048个字节(2K) 

FileSize属性(1.1版新功能) 

得到上载文件的大小; 

调用: 

Set obj = Server.CreateObject("LyfUpload.UploadFile") 

response.write obj.filesize 

DBContent属性(1.1版新功能) 

得到上载文件的实际内容,为二进制流(不能直接读取,主要用于上载文件到数据库中); 

调用: 

Set obj = Server.CreateObject("LyfUpload.UploadFile") 

ss=obj.SaveFiletodb("file1") ’保存文件到服务器 

aa=obj.filetype("file1") ’得到文件的Content-Type 

’----文件上载到数据库中--------- 

rs.AddNew 

rs("name")=trim(aa) 

rs("pic").AppendChunk obj.DBContent’BLOB数据不能直接赋值 

rs.Update 

rs.movelast 

四、具体调用实例 

普通上载: 

1、调用显示的htm或者asp文件中加入以下代码: 

<form method="POST" enctype="multipart/form-data" action="demo1.asp"> 

<p>文本框1: <input type="text" name="text1" size="20"><br> 

选择文件:<input type="file" name="file1"><br> 

<input type="submit" value="上载" 

style="background-color: rgb(0,0,255); color: rgb(255,255,0)"> </p> 

</form> 

注意:Form中一定要包含enctype="multipart/form-data"语句 

2、后台处理程序中加入下面代码: 

<%@Language=VBScript %> 

<HTML> 

<BODY> 

<% 

Set obj = Server.CreateObject("LyfUpload.UploadFile") 

txt = obj.request("text1") ’得到form元素的值 

Response.Write( "文本框1的输入值是: " & txt) 

Response.Write "<br>" 

ss=obj.SaveFile("file1", "C: emp",true) ’保存文件到服务器 

aa=obj.filetype("file1") 

if ss<> "" then 

Response.Write "选择的文件已经上载到服务器!<br>" 

Response.Write("文件名:" & ss) 

Response.Write("<br>Content-Type:" & aa) ’得到Content-Type 

end if 

obj.about ’关于LyfUploa1.2 

%> 

</BODY > 

</html> 

文件上载到数据库(此处仅加入gif图形上载到数据库中及从数据库中读取的功能,其它请看DEMO文件) 

1、调用显示的htm或者asp文件中加入以下代码: 

<form method="POST" enctype="multipart/form-data" action="demo4.asp"> 

<p>文本框1: <input type="text" name="text1" size="20"><br> 

选择文件:<input type="file" name="file1"><br> 

<input type="submit" value="上载" 

style="background-color: rgb(0,0,255); color: rgb(255,255,0)"> </p> 

</form> 

注意:Form中一定要包含enctype="multipart/form-data"语句 

2、后台处理程序中加入下面代码: 

<%@Language=VBScript %> 

<% 

’设置数据库链接 

strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("new.mdb") 

session("strconn")=strConn 

Set dbc = Server.CreateObject("ADODB.Connection") 

dbc.open strConn 

set rs=server.CreateObject("adodb.recordset") 

rs.Open "SELECT * FROM product",dbc,1,3 

%> 

<HTML> 

<BODY> 

<% 

Set obj = Server.CreateObject("LyfUpload.UploadFile") 

obj.extname="gif" 

txt = obj.request("text1") ’得到form元素的值 

Response.Write( "文本框1的输入值是: " & txt) 

Response.Write "<br>" 

ss=obj.SaveFiletodb("file1") ’保存文件到服务器 

aa=obj.filetype("file1") ’得到文件的Content-Type 

if ss= "" then 

Response.Write ("文件上传失败!") 

elseif ss= "0" then 

Response.Write ("文件尺寸过大!") 

elseif ss= "1" then 

Response.Write ("文件不是gif文件!") 

else 

’----文件上载到数据库中--------- 

rs.AddNew 

rs("name")=trim(aa) 

rs("pic").AppendChunk obj.DBContent’BLOB数据不能直接赋值 

rs.Update 

rs.movelast 

session("ID")=rs("ID") 

rs.Close 

dbc.Close 

set rs=nothing 

set dbc=nothing 

’------------------------------上载到数据库中结束 

Response.Write "选择的文件已经上载到服务器!<br>" 

Response.Write("文件名:" & ss) 

Response.Write("<br>Content-Type:" & aa) ’得到Content-Type 

end if 

obj.about ’关于LyfUploa1.1 

%> 

<br> 

<a href="pictest.asp?ID=<%=session("ID")%>">点击此处查看上传后数据库中的GIF文件!</a> 

</BODY > 

</html> 

3、从数据库中显示图形的asp页面(pictest.asp) 

<% 

Function SetForDisplay(field, contentType) ’设置文件的大小及MIME类型 

contentType = LCase(trim(contentType)) 

nFieldSize = field.ActualSize 

bytes = field.GetChunk(nFieldSize) 

Session("Bytes") = bytes 

Session("Type") = contentType 

End Function 

%> 

<% 

sql = "select * from product where id=" & request("ID") 

Set oRS = Server.CreateObject("ADODB.Recordset") 

oRS.CursorLocation = 3 

strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("new.mdb") 

oRS.Open sql, strConn 

SetForDisplay oRS("pic"), "image/gif" ’"image/gif" 为MIME类型 

’附:常见的MIME类型 

’GIF文件  "image/gif" 

’BMP文件 "image/bmp" 

’JPG文件 "image/jpeg" 

’zip文件 "application/x-zip-compressed" 

’DOC文件 "application/msword" 

’文本文件 "text/plain" 

’HTML文件 "text/html" 

’一般文件 "application/octet-stream" 

Set oRS.ActiveConnection = Nothing 

%> 

<javascript src="theImg.asp"> ’调用处理页面 

<%response.write(Session("Type"))%> 

4、最后处理页面(theImg.asp) 

<% 

response.Expires = 0 

response.Buffer = True 

response.Clear 

response.contentType = Session("Type") 

response.BinaryWrite Session("Bytes") 

Session("Type") = "" 

Session("Bytes") = "" 

response.End 

%> 

注意:要得到上一个页面中的元素值,请使用LyfUpload组件的Request方法,使用Request.form会使得程序不能正常运行 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表