100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > asp html 生成图片 asp无组件上传图片并生成缩略图

asp html 生成图片 asp无组件上传图片并生成缩略图

时间:2021-10-11 02:56:32

相关推荐

asp html 生成图片 asp无组件上传图片并生成缩略图

先创建一文件夹,并创建虚拟目录或站长点。

1.增加上传页xAdd.html

无组件上传

"POST"name="myform"action="xSave.asp"target="_self">

"PicPath"type="text"id="PicPath"readonly="true">

"sPicPath"type="hidden"id="sPicPath">

""id="objimg"style="display:none;"/>

2.上传页upload.htm

"Content-Type"content="text/html;charset=gb2312">

functioncheck_file()

{

varstrFileName=form.FileName.value;

if(strFileName=="")

{

alert("请选择要上传的文件");

returnfalse;

}

}

"0"topmargin="0">

"upfile.asp"method="post"name="form1"enctype="multipart/form-data">

"FileName"type="FILE"class="tx1"size="20"onChange="window.parent.document.getElementById('objimg').src=this.value;window.parent.document.getElementById('objimg').style.display='';">

"submit"name="Submit"value="上传">

3.上传保存代码页upfile.asp

ConstMaxFileSize=300'上传文件大小限制单位k

ConstUpFileType="gif|jpg|bmp|png"'允许的上传文件类型

setfs=createobject("scripting.filesystemobject")

%>

"Content-Type"content="text/html;charset=gb2312">

callupload_0()'使用化境无组件上传类

%>

subupload_0()'使用化境无组件上传类

setupload=newupload_file'建立上传对象

foreachformNameinupload.file'列出所有上传了的文件

setfile=upload.file(formName)'生成一个文件对象

iffile.filesize<100then

msg="请先选择你要上传的文件!"

founderr=true

endif

iffile.filesize>(MaxFileSize*1024)then

msg="文件大小超过了限制,最大只能上传"&CStr(MaxFileSize)&"K的文件!"

founderr=true

endif

fileExt=lcase(file.FileExt)

Forumupload=split(UpFileType,"|")

fori=0toubound(Forumupload)

iffileEXT=trim(Forumupload(i))then

EnableUpload=true

exitfor

endif

next

iffileEXT="asp"orfileEXT="asa"orfileEXT="aspx"then

EnableUpload=false

endif

ifEnableUpload=falsethen

msg="这种文件类型不允许上传!/n/n只允许上传这几种文件类型:"&UpFileType

response.write""

founderr=true

endif

strJS=""

response.writestrJS

setfile=nothing

next

setupload=nothing

endsub

%>

4.upload.asp页

'----------------------------------------------------------------------

'转发时请保留此声明信息,这段声明不并会影响你的速度!

'*******************无组件上传类********************************

'声明:此上传类是在化境编程界发布的无组件上传类的基础上修改的.

'在与化境编程界无组件上传类相比,速度快了将近50倍,当上传4M大小的文件时

'服务器只需要10秒就可以处理完,是目前最快的无组件上传程序,当前版本为0.96

'源代码公开,免费使用,对于商业用途,请与作者联系

'文件属性:例如上传文件为c:/myfile/doc.txt

'FileName文件名字符串"doc.txt"

'FileSize文件大小数值1210

'FileType文件类型字符串"text/plain"

'FileExt文件扩展名字符串"txt"

'FilePath文件原路径字符串"c:/myfile"

'使用时注意事项:

'由于Scripting.Dictionary区分大小写,所以在网页及ASP页的项目名都要相同的大小

'写,如果人习惯用大写或小写,为了防止出错的话,可以把

'sFormName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)

'改为

'(小写者)sFormName=LCase(Mid(sinfo,iFindStart,iFindEnd-iFindStart))

'(大写者)sFormName=UCase(Mid(sinfo,iFindStart,iFindEnd-iFindStart))

'**********************************************************************

'----------------------------------------------------------------------

dimoUpFileStream

Classupload_file

dimForm,File,Version

PrivateSubClass_Initialize

'定义变量

dimRequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo

dimiFileSize,sFilePath,sFileType,sFormvalue,sFileName

dimiFindStart,iFindEnd

dimiFormStart,iFormEnd,sFormName

'代码开始

Version="无组件上传类Version0.96"

setForm=Server.CreateObject("Scripting.Dictionary")

setFile=Server.CreateObject("Scripting.Dictionary")

ifRequest.TotalBytes

settStream=Server.CreateObject("adodb.stream")

setoUpFileStream=Server.CreateObject("adodb.stream")

oUpFileStream.Type=1

oUpFileStream.Mode=3

oUpFileStream.Open

oUpFileStream.WriteRequest.BinaryRead(Request.TotalBytes)

oUpFileStream.Position=0

RequestBinDate=oUpFileStream.Read

iFormEnd=oUpFileStream.Size

bCrLf=chrB(13)&chrB(10)

'取得每个项目之间的分隔符

sStart=MidB(RequestBinDate,1,InStrB(1,RequestBinDate,bCrLf)-1)

iStart=LenB(sStart)

iFormStart=iStart+2

'分解项目

Do

iInfoEnd=InStrB(iFormStart,RequestBinDate,bCrLf&bCrLf)+3

tStream.Type=1

tStream.Mode=3

tStream.Open

oUpFileStream.Position=iFormStart

oUpFileStream.CopyTotStream,iInfoEnd-iFormStart

tStream.Position=0

tStream.Type=2

tStream.Charset="gb2312"

sInfo=tStream.ReadText

'取得表单项目名称

iFormStart=InStrB(iInfoEnd,RequestBinDate,sStart)-1

iFindStart=InStr(22,sInfo,"name=""",1)+6

iFindEnd=InStr(iFindStart,sInfo,"""",1)

sFormName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)

'如果是文件

ifInStr(45,sInfo,"filename=""",1)>0then

setoFileInfo=newFileInfo

'取得文件属性

iFindStart=InStr(iFindEnd,sInfo,"filename=""",1)+10

iFindEnd=InStr(iFindStart,sInfo,"""",1)

sFileName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)

oFileInfo.FileName=GetFileName(sFileName)

oFileInfo.FilePath=GetFilePath(sFileName)

oFileInfo.FileExt=GetFileExt(sFileName)

iFindStart=InStr(iFindEnd,sInfo,"Content-Type:",1)+14

iFindEnd=InStr(iFindStart,sInfo,vbCr)

oFileInfo.FileType=Mid(sinfo,iFindStart,iFindEnd-iFindStart)

oFileInfo.FileStart=iInfoEnd

oFileInfo.FileSize=iFormStart-iInfoEnd-2

oFileInfo.FormName=sFormName

file.addsFormName,oFileInfo

else

'如果是表单项目

tStream.Close

tStream.Type=1

tStream.Mode=3

tStream.Open

oUpFileStream.Position=iInfoEnd

oUpFileStream.CopyTotStream,iFormStart-iInfoEnd-2

tStream.Position=0

tStream.Type=2

tStream.Charset="gb2312"

sFormvalue=tStream.ReadText

form.AddsFormName,sFormvalue

endif

tStream.Close

iFormStart=iFormStart+iStart+2

'如果到文件尾了就退出

loopuntil(iFormStart+2)=iFormEnd

RequestBinDate=""

settStream=nothing

EndSub

PrivateSubClass_Terminate

'清除变量及对像

ifnotRequest.TotalBytes<1then

oUpFileStream.Close

setoUpFileStream=nothing

endif

Form.RemoveAll

File.RemoveAll

setForm=nothing

setFile=nothing

EndSub

'取得文件路径

PrivatefunctionGetFilePath(FullPath)

IfFullPath<>""Then

GetFilePath=left(FullPath,InStrRev(FullPath,"/"))

Else

GetFilePath=""

EndIf

Endfunction

'取得文件名

PrivatefunctionGetFileName(FullPath)

IfFullPath<>""Then

GetFileName=mid(FullPath,InStrRev(FullPath,"/")+1)

Else

GetFileName=""

EndIf

Endfunction

'取得扩展名

PrivatefunctionGetFileExt(FullPath)

IfFullPath<>""Then

GetFileExt=mid(FullPath,InStrRev(FullPath,".")+1)

Else

GetFileExt=""

EndIf

Endfunction

EndClass

'文件属性类

ClassFileInfo

dimFormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt

PrivateSubClass_Initialize

FileName=""

FilePath=""

FileSize=0

FileStart=0

FormName=""

FileType=""

FileExt=""

EndSub

'保存文件方法

PublicfunctionSaveToFile(FullPath)

dimoFileStream,ErrorChar,i

SaveToFile=1

iftrim(fullpath)=""orright(fullpath,1)="/"thenexitfunction

setoFileStream=CreateObject("Adodb.Stream")

oFileStream.Type=1

oFileStream.Mode=3

oFileStream.Open

oUpFileStream.position=FileStart

oUpFileStream.copytooFileStream,FileSize

oFileStream.SaveToFileFullPath,2

oFileStream.Close

setoFileStream=nothing

SaveToFile=0

endfunction

EndClass

%>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。