今天,我们将解释如何使用ASP的上传功能将本地文件上传到服务器。

最简单的系统包括以下三个文档:

upload.htm——上传文件,选择本地文件

uploadimg.asp——上传程序控制文件

upload_5xsoft.inc -无组件上传类,这个文件不是初学者学习,只要它能用。



upload.htm内容——上传文件,选择本地文件























uploadimg.asp内容——上传程序控制文件





<
昏暗的上传,文件,文件路径
路径= 上传 /
设置上传=新upload_5xsoft建立一个上传的对象
在upload.file列出所有上传的文件都formname
设置文件= upload.file(formname)生成一个文件对象
如果文件。文件大小> 0 ' '如果文件大小> 0显示文件数据
名为file.filename
file.saveas server.mappath(filepathfname)保存文件
最后如果
设置文件=无
下一个
设置上传=删除该对象


upload_5xsoft.inc --这个文件的内容不属于排练节目的内容,和本演练中应用这种方法







昏暗的oupfilestream

类upload_5xsoft

格式、文件、版本

私有子class_initialize
昏暗的requestbindate,开始吧,bcrlf,兴福,iinfostart,iinfoend,TmemoryStream,我开始,ofileinfo
昏暗的ifilesize,sfilepath,sfiletype,sformvalue,sFileName
昏暗的ifindstart,ifindend
昏暗的iformstart,iformend,sformname
版本组件免费上传类0.93版
设置形式= server.createobject(脚本。词典)
设置文件= server.createobject(脚本。词典)
如果请求。totalbytes<1 Exit Sub
集TmemoryStream = server.createobject(ADODB。流)
集oupfilestream = server.createobject(ADODB。流)
oupfilestream类型= 1。
oupfilestream模式= 3。
oupfilestream。开放
oupfilestream。写Request.BinaryRead(请求。totalbytes)
响应。写页面执行时间:formatnumber((((定时器()- 1)* 1000,3)毫秒
oupfilestream位置= 0。
requestbindate = oupfilestream.read
iformstart = 1
iformend = lenb(requestbindate)
bcrlf = ChrB ChrB(10)(13)
开始吧=多重交替焙烘显影工艺(requestbindate,1,instrb(iformstart,requestbindate,bcrlf)- 1)
我开始为lenb(开始吧)
iformstart = iformstart +我+ 1
而(iformstart + 10)< iformend
iinfoend = instrb(iformstart,requestbindate,bcrlf bcrlf)+ 3
TmemoryStream类型= 1。
TmemoryStream模式= 3。
打开TmemoryStream。
oupfilestream位置= iformstart。
oupfilestream.copyto TmemoryStream,iinfoend iformstart
TmemoryStream位置= 0。
TmemoryStream类型= 2。
TmemoryStream,字符集=GB2312
兴福= tstream.readtext
获取窗体项目名的名称
iformstart = instrb(iinfoend,requestbindate,开始吧)
ifindstart =仪器(22、兴福、name =
ifindend =仪器(ifindstart,兴福,
sformname =中(SInfo,ifindstart,ifindend ifindstart)
如果是文件
如果仪器(45、兴福,文件名=
设置一个ofileinfo =
获取文件的名称
ifindstart =仪器(ifindend,兴福,文件名=
ifindend =仪器(ifindstart,兴福,
sFileName =中(SInfo,ifindstart,ifindend ifindstart)
ofileinfo。文件名=作用:取文件名(sFileName)
ofileinfo路径=找到文件的全路径(sFileName)。
获取文件类型
ifindstart =仪器(ifindend,兴福,内容类型:
ifindend =仪器(ifindstart、兴福、妙用)
ofileinfo.filetype =中(SInfo,ifindstart,ifindend ifindstart)
ofileinfo.filestart = iinfoend
ofileinfo.filesize = iformstart iinfoend - 3 -
ofileinfo formname = sformname。
file.add sformname,ofileinfo
其他的
如果这是一个表单项目
接近TmemoryStream。
TmemoryStream类型= 1。
TmemoryStream模式= 3。
打开TmemoryStream。
oupfilestream位置= iinfoend。
oupfilestream.copyto TmemoryStream,iformstart-iinfoend-3
TmemoryStream位置= 0。
TmemoryStream类型= 2。
TmemoryStream,字符集=GB2312
sformvalue = tstream.readtext
添加sformname,sformvalue形式。
最后如果
接近TmemoryStream。
iformstart = iformstart +我+ 1
走
requestbindate =
集TmemoryStream =没有
端子

私有子class_terminate
如果不要求totalbytes<1。
form.removeall
file.removeall
设置窗体=无
设置文件=无
oupfilestream。关闭
集oupfilestream =没有
最后如果
端子


私有函数GetFilePath(绝对)
如果FullPath <>然后
找到文件的全路径=左(instrrev(绝对,绝对,))
其他的
=找到文件的全路径
最后如果
端功能

私有函数作用:取文件名(绝对)
如果FullPath <>然后
作用:取文件名=中(instrrev(绝对,绝对,)+ 1)
其他的
=作用:取文件名
最后如果
端功能

类的结束

FileInfo类
昏暗的formname,文件名,文件路径,文件大小,文件类型,filestart
私有子class_initialize
=文件名
= FilePath
文件大小= 0
filestart = 0
= formname
=文件
端子

公共函数SaveAs(绝对)
昏暗的ofilestream,ErrorChar,我
另存为= 1
如果修剪(绝对)= 或右(完整路径,1)= / 然后退出功能
集ofilestream = CreateObject(ADODB。流)
ofilestream类型= 1。
ofilestream模式= 3。
ofilestream。开放
oupfilestream位置= filestart。
oupfilestream.copyto ofilestream,文件大小
OFileStream.SaveToFile FullPath,2
ofilestream。关闭
集ofilestream =没有
另存为= 0
端功能
类的结束



本文的内容是上载文件最简单的程序。请朋友们分析并学习这个练习。ASP的一般上传功能基本掌握。