如果你想把自己机器的图片或者文件放到服务器上该怎么办呢?溴可选有三种办法文件传输协议(文件传输协议的缩写)上传、用u盘拷贝到服务器上、如果服务器支持白杨上传功能,用网页浏览器将文件上传到服务器上
今天我们讲解如何利用白杨的上传功能将本地的文件上传到服务器上。
最简系统包括下面三个文件:
upload.htm-上传口文件,选择本地文件
uploadimg.asp-上传程序控制文件
upload_5xsoft.inc -无组件上传类,此文件初学者不用学习,只要会用就可以了
upload.htm内容————上传口文件,选择本地文件
超文本标记语言
头
/头
身体
表格宽度='80% '边框='0 '对齐='居中'
表单名称=' form 1 '方法=' post '操作=' upload img。ASP ' enctype=' multipart/form-data '
tr
TD align=' center ' input name=' upfile ' type=' file ' id=' upfile '/TD
/tr
tr
td align='居中'输入类型='提交'名称='提交'值='上传图片/td
/tr
/表单
/表格
/body
/html
uploadimg.asp内容————上传程序控制文件
!-# include FILE=' upload _ 5x soft。'公司'-
%
暗淡的上传,文件,文件路径
filepath='UPLOAD/'
set upload=new upload_5xSoft ' '建立上传对象
对于上传档案""中的每个表单名列出所有上传了的文件
set file=upload.file(formName)' '生成一个文件对象
如果文件. FileSize0 then " "如果文件大小0说明有文件数据
fname=file.filename
文件。另存为Server.mappath(filepathfname)' '保存文件
如果…就会结束
设置文件=无
然后
设置上传=无''删除此对象
upload_5xsoft.inc内容————此文件内容不属于本演练程序内容,本演练应用此类的方法
脚本RUNAT=服务器语言=VBSCRIPT
暗淡的输出文件流
课程上传_5xSoft
暗淡的表单、文件、版本
私有子类_初始化
dim RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
dim iFileSize,sFilePath,sFileType,sFormvalue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
版本='无组件上传类0.93版'
设置表单=服务器CreateObject('脚本。字典)
设置文件=服务器CreateObject('脚本。字典)
如有要求106 .总计字节1然后退出潜水艇
设置tStream=服务器.CreateObject('adodb.stream ')
set oUpFileStream=Server .CreateObject('adodb.stream ')
输出文件流.类型=1
输出文件流.模式=3
输出文件流.打开
输出文件流.写请求BinaryRead(请求。总字节数)
回应。书写font size=''2 ' '页面执行时间:'格式号((Timer()-time 1)* 1000,3)'毫秒/fontbr '
输出文件流.位置=0
RequestBinDate=oUpFileStream .阅读
iFormStart=1
iFormEnd=LenB(RequestBinDate)
bCrLf=chrB(13) chrB(10)
sStart=MidB(RequestBinDate,1,InStrB(iFormStart,RequestBinDate,bCrLf)-1)
iStart=LenB (sStart)
iFormStart=iFormStart iStart 1
while (iFormStart 10) iFormEnd
iInfoEnd=InStrB(iFormStart,RequestBinDate,bCrLf bCrLf) 3
t流.类型=1
t流.模式=3
t流.打开
输出文件流.Position=iFormStart
输出文件流.复制到tStream,iInfoEnd-iFormStart
t流.位置=0
t流.类型=2
t流.Charset='gb2312 '
sInfo=tStream .阅读文本
'取得表单项目名称
iFormStart=InStrB(iInfoEnd,RequestBinDate,sStart)
iFindStart=InStr(22,sInfo,' name=' ',1) 6
iFindEnd=InStr(iFindStart,sInfo,'''',1)
sFormName=Mid (sinfo,iFindStart,iFindEnd-iFindStart)
'如果是文件
如果InStr (45,sInfo,' filename=' ',1) 0,则
set oFileInfo=新文件信息
'取得文件名
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)
'取得文件类型
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 -3
oFileInfo .FormName=sFormName
file.add sFormName,oFileInfo
其他
'如果是表单项目
t流.关闭
t流.类型=1
t流.模式=3
t流.打开
输出文件流.Position=iInfoEnd
输出文件流.复制到t流,iFormStart-iInfoEnd-3
t流.位置=0
t流.类型=2
t流.Charset='gb2312 '
sFormvalue=tStream .阅读文本
形式。添加sFormName,sFormvalue
如果…就会结束
t流.关闭
iFormStart=iFormStart iStart 1
行
RequestBinDate=' '
设置tStream=无
末端接头
私有子类_终止
如果没有请求。那么总计字节数一
形式。全部删除
文件。全部删除
设置表单=无
设置文件=无
输出文件流.关闭
set oUpFileStream=nothing
如果…就会结束
末端接头
私有函数GetFilePath(完整路径)
如果完整路径为"",则
GetFilePath=left(FullPath,InStrRev(FullPath,''))
其他
GetFilePath=' '
如果…就会结束
结束功能
私有函数获取文件名(完整路径)
如果完整路径为"",则
GetFileName=mid(FullPath,InStrRev(FullPath,' ')1)
其他
GetFileName=' '
如果…就会结束
结束功能
结束类
文件信息类
暗淡的表单名称,文件名,文件路径,文件大小,文件类型,文件开始
私有子类_初始化
文件名=' '
文件路径=' '
文件大小=0
文件开始=0
FormName=' '
文件类型=' '
末端接头
公共函数另存为(完整路径)
dim oFileStream,ErrorChar,I
SaveAs=1
如果trim(完整路径)=' '或right(fullpath,1)=/',则退出函数
设置ilestream=CreateObject(' Adodb .流)
oFileStream .类型=1
oFileStream .模式=3
oFileStream .打开
oup文件流。position=文件开始
oup文件流。复制到文件流的,文件大小
oFileStream .保存文件完整路径,2
oFileStream .关闭
set oFileStream=nothing
另存为=0
结束功能
结束类
/脚本
此文所诉的内容是上传文件的最简化程式,请朋友们自己分析一下,学会本演练,asp一般的上传功能就基本掌握了。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。