LyfUpload组件方法介绍

时间:2021-04-16

组件方法介绍:

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会使得程序不能正常运行。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章