日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[asp常用代码]文件上传代码

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [asp常用代码]文件上传代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
調用實例: UploadDemo.html
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
<html>
<head>
<title>Upload?Demo</title>
<meta?name="keywords"?content="淄博本地信息網">
<meta?name="author"?content="淄博本地信息網">
</head>

<body>
<table?width="100%"?cellpadding="0"?cellspacing="0"?border="0">
?
<tr>
??
<td?class=tdTitle>類別圖片:</td>
??
<td>
???
<table?width="100%"?cellpadding="0"?cellspacing="0"?border="0">
????
<tr>
?????
<td?width="210"><input?name="image"?type="text"?id="image"?value="<%=image?%>"?style="width:200px"></td>
?????
<td><iframe?src="upload.asp?editname=image&uppath=catImg&filelx=jpg"?frameborder=0?scrolling=no?width="400"?height="25"></iframe></td>
????
</tr>
???
</table>
??
</td>
?
</tr>
</table>
</body>
</html>

?

調用Upload.asp為顯示瀏覽上傳表單頁面,代碼如下:

?

Upload.asp
<%
Dim?uppath,filelx,formName,EditName
uppath??
="../"&request("uppath")&"/"????????'文件上傳路徑
filelx??=request("filelx")????????????????'文件上傳類型
formName=request("formName")????????????'回傳到上頁面編輯框所在Form的Name
EditName=request("EditName")????????????'回傳到上頁面編輯框的Name
sizeName=request("sizename")????????????'回傳到上頁面編輯框的Name
%>
<html>
<head>
<title>圖片上傳</title>
<meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312">
<style?type="text/css">
<!--
body,form,td?
{}{margin:1px?0;padding:0;}
input?
{}{height:21px;}
-->
</style>
</head>
<body?bgcolor="#FFFFFF"?text="#000000">
<form?name="form1"?method="post"?action="uploadSave.asp"?enctype="multipart/form-data"?>
?
<input?type="hidden"?name="filepath"?value="<%=uppath%>">
?
<input?type="hidden"?name="filelx"?value="<%=filelx%>">
?
<input?type="hidden"?name="EditName"?value="<%=EditName%>">
?
<input?type="hidden"?name="sizeName"?value="<%=sizeName%>">
?
<input?type="hidden"?name="FormName"?value="<%=formName%>">
?
<input?type="hidden"?name="act"?value="uploadfile">
?
<table?width="100%"?cellspacing="0"?cellpadding="3"?align="center"?height="22">
??
<tr?align="center"?valign="middle">
???
<td?align="left">
????
<input?type="file"?name="file1"?style="width:350px"?value="">
????
<input?type="submit"?value="上傳">
???
</td>
??
</tr>
?
</table>
</form>
</body>
</html>

?

保存上傳文件的uploadSave.asp

?

uploadSave
<!--#include?file="upload_wj.asp"-->
<meta?http-equiv="Content-Type"?content="text/html;?charSet=gb2312">
<style?type="text/css">
<!--
*?{font-size:12px;}
-->
</style>
<%
DisableOutSite??
'禁從站外進入
uploadSave



Sub?DisableOutSite()
??
Dim?server_v1,server_v2
??server_v1
=Cstr(Request.ServerVariables("HTTP_REFERER"))
??server_v2
=Cstr(Request.ServerVariables("SERVER_NAME"))
??
If?mid(server_v1,8,len(server_v2))<>server_v2?Then?response.Redirect("/")
??
If?instr(request.servervariables("http_referer"),"http://"&request.servervariables("host")?)<1?Then?response.Redirect("/")
End?Sub




Sub?uploadSave
??
Dim?upload,filepath,filelx,rename,formName
??
Dim?fileExt,ranNum,filename,todb_filename,i,upfile
??
Set?upload=?New?upload_file
??
If?upload.form("act")<>"uploadfile"?Then
????
Set?upload?=?Nothing
????
Exit?Sub
??
End?If

??filepath??????
=?trim(upload.form("filepath"))
??filelx???????????
=?trim(upload.form("filelx"))
??sizeName???
=?trim(upload.form("sizeName"))
??rename???????
=?trim(upload.form("rename"))
??fileNameElement?
=?trim(upload.form("editName"))

??i
=0
??
For?Each?formName?In?upload.File
????
Set?upfile=upload.File(formName)
????fileExt
=lcase(upfile.FileExt)?'得到的文件擴展名不含有.
????If?upfile.fileSize<100?Then
??????response.write?
"<span>請先選擇你要上傳的文件! [?<a?href=""javascript:history.go(-1);"">重新上傳</a>?]</span>"
??????
Exit?Sub
????
End?If
????
'--------檢查文件擴展名
????If?(filelx<>"swf")?and?(filelx<>"jpg")?and?(filelx<>"doc")?Then
??????response.write?
"<span>該文件類型不能上傳! [?<a?href=""javascript:history.go(-1);"">重新上傳</a>?]</span>"
??????response.end
????
End?If
????
If?filelx="swf"?Then
??????
If?fileext<>"swf"??and?(fileext<>"rm")?and?(fileext<>"ram")?and?(fileext<>"wmv")?and?(fileext<>"asf")?Then
????????response.write?
"<span>只能上傳swf/rm/ram/wmv/asf文件! [?<a?href=""javascript:history.go(-1);"">重新上傳</a>?]</span>"
????????response.end
??????
End?If
????
End?If
????
If?filelx="doc"?Then
??????
If?fileext<>"doc"??and?fileext<>"pdf"?and?fileext<>"zip"?and?fileext<>"rar"??Then
???????response.write?
"<span>只能上傳doc,pdf,zip,rar格式文件! [?<a?href=""javascript:history.go(-1);"">重新上傳</a>?]</span>"
???????response.end
??????
End?If
????
End?If
????
If?filelx="jpg"?Then
??????
If?fileext<>"gif"?and?fileext<>"jpg"?and?fileext<>"png"?And?fileExt<>"bmp"?Then
????????response.write?
"<span>上傳圖片類型錯誤! [?<a?href=""javascript:history.go(-1);"">重新上傳</a>?]</span>"
????????response.end
??????
End?If
????
End?If
????
'--------檢查文件擴展名

????
'--------檢查大小是否超過限制
????Dim?maxSize
????
Select?Case?filelx
??????
Case?"jpg","swf"?:?maxSize?=?3000*1024
??????
Case?Else??:?maxSize?=?2000*1024
????
End?Select
????
If?upfile.filesize>maxSize?Then
??????response.write?
"<span>文件大小超過限制 [?<a?href=""javascript:history.go(-1);"">重新上傳</a>?]</span>"
??????response.end
????
End?If
????
'//--------檢查大小是否超過限制
????'--------處理重新命名上傳文件的情況
????If?rename=""?Then
??????
randomize
??????ranNum
=int(90000*rnd)+10000
??????filename
=filepath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt?'程序寫入的完整的路徑及文件名
??????todb_filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt??'寫入數據庫的文件名
????Else
??????filename
=filepath&rename?'程序寫入的完整的路徑及文件名
??????todb_filename=rename??'寫入數據庫的文件名
????End?If
????
'//--------處理重新命名上傳文件的情況
????If?upfile.FileSize>0?Then?????????''如果?FileSize?>?0?說明有文件數據
??????upfile.SaveToFile?Server.mappath(FileName)
??????
Call?ChkHackWord(FileName)

??????
'response.write?upfile.FileName&"  上傳成功!  <br>"
??????'response.write?"新文件名:"&FileName&"<br>"
??????'response.write?"新文件名已復制到所需的位置,可關閉窗口!"
??????oFrm?=??upload.form("FormName")
??????
If?filelx="swf"?Then
????????response.write?
"<script>parent.document."&?oFrm?&".size.value='"&int(upfile.FileSize/1024)&"?K'</script>"
??????
End?If
??????
If?sizeName<>""?Then
????????response.write?
"<script>parent.document."&?oFrm?&"."&?sizeName?&".value='"&?int(upfile.FileSize/1024)&"?KB'</script>"
??????
End?If
??????response.write?
"<script>parent.document."&?oFrm?&"."&?fileNameElement?&".value='"&todb_FileName&"'</script>"
????
End?If
????
Set?upfile=nothing
??
Next
??
Set?upload=nothing
??%
>
??
<script?language="javascript">window.alert("文件上傳成功!請不要修改生成的鏈接地址!");</script>
<%
End?Sub
%
>

?

uploadSave.asp中使用無懼無組件上傳類 :

?

upload_wj.asp
<%
'----------------------------------------------------------------------
'
轉發時請保留此聲明信息,這段聲明不并會影響你的速度!
'
*******************????無組件上傳類???********************************
'
修改者:梁無懼
'
電子郵件:yjlrb@21cn.com
'
網站:http://www.25cn.com
'
原作者:稻香老農
'
原作者網站:http://www.5xsoft.com
'
聲明:此上傳類是在化境編程界發布的無組件上傳類的基礎上修改的.
'
在與化境編程界無組件上傳類相比,速度快了將近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))
'
**********************************************************************
'
----------------------------------------------------------------------
dim?oUpFileStream

Class?upload_file
??
dim?Form,File,Version
??
Private?Sub?Class_Initialize?
???
'定義變量
??dim?RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
??
dim?iFileSize,sFilePath,sFileType,sFormvalue,sFileName
??
dim?iFindStart,iFindEnd
??
dim?iFormStart,iFormEnd,sFormName
???
'代碼開始
??Version="無組件上傳類?Version?0.96"
??
set?Form?=?Server.CreateObject("Scripting.Dictionary")
??
set?File?=?Server.CreateObject("Scripting.Dictionary")
??
if?Request.TotalBytes?<?1?then?Exit?Sub
??
set?tStream?=?Server.CreateObject("adodb.stream")
??
set?oUpFileStream?=?Server.CreateObject("adodb.stream")
??oUpFileStream.Type?
=?1
??oUpFileStream.Mode?
=?3
??oUpFileStream.Open?
??oUpFileStream.Write?Request.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.CopyTo?tStream,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)
????
'如果是文件
????if?InStr?(45,sInfo,"filename=""",1)?>?0?then
??????
set?oFileInfo=?new?FileInfo
??????
'取得文件屬性
??????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.add?sFormName,oFileInfo
????
else
????
'如果是表單項目
??????tStream.Close
??????tStream.Type?
=?1
??????tStream.Mode?
=?3
??????tStream.Open
??????oUpFileStream.Position?
=?iInfoEnd?
??????oUpFileStream.CopyTo?tStream,iFormStart
-iInfoEnd-2
??????tStream.Position?
=?0
??????tStream.Type?
=?2
??????tStream.Charset?
=?"gb2312"
??????sFormvalue?
=?tStream.ReadText?
??????form.Add?sFormName,sFormvalue
????
end?if
????tStream.Close
????iFormStart?
=?iFormStart+iStart+2
????
'如果到文件尾了就退出
????loop?until?(iFormStart+2)?=?iFormEnd?
??RequestBinDate
=""
??
set?tStream?=?nothing
End?Sub

Private?Sub?Class_Terminate??
??
'清除變量及對像
??if?not?Request.TotalBytes<1?then
????oUpFileStream.Close
????
set?oUpFileStream?=nothing
????
end?if
??Form.RemoveAll
??File.RemoveAll
??
set?Form=nothing
??
set?File=nothing
End?Sub
???
?
'取得文件路徑
Private?function?GetFilePath(FullPath)
??
If?FullPath?<>?""?Then
????GetFilePath?
=?left(FullPath,InStrRev(FullPath,?"\"))
????
Else
????GetFilePath?
=?""
??
End?If
End?function
?
'取得文件名
Private?function?GetFileName(FullPath)
??
If?FullPath?<>?""?Then
????GetFileName?
=?mid(FullPath,InStrRev(FullPath,?"\")+1)
????
Else
????GetFileName?
=?""
??
End?If
End?function

'取得擴展名
Private?function?GetFileExt(FullPath)
??
If?FullPath?<>?""?Then
????GetFileExt?
=?mid(FullPath,InStrRev(FullPath,?".")+1)
????
Else
????GetFileExt?
=?""
??
End?If
End?function

End?Class

'文件屬性類
Class?FileInfo
??
dim?FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
??
Private?Sub?Class_Initialize?
????FileName?
=?""
????FilePath?
=?""
????FileSize?
=?0
????FileStart
=?0
????FormName?
=?""
????FileType?
=?""
????FileExt?
=?""
??
End?Sub
??
'保存文件方法
?Public?function?SaveToFile(FullPath)
????
dim?oFileStream,ErrorChar,i
????SaveToFile
=1
????
if?trim(fullpath)=""?or?right(fullpath,1)="/"?then?exit?function
????
set?oFileStream=CreateObject("Adodb.Stream")
????oFileStream.Type
=1
????oFileStream.Mode
=3
????oFileStream.Open
????oUpFileStream.position
=FileStart
????oUpFileStream.copyto?oFileStream,FileSize
????oFileStream.SaveToFile?FullPath,
2
????oFileStream.Close
????
set?oFileStream=nothing?
????SaveToFile
=0
??
end?function
End?Class
%
>

轉載于:https://www.cnblogs.com/s1ihome/archive/2008/11/18/1336061.html

總結

以上是生活随笔為你收集整理的[asp常用代码]文件上传代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。