佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > asp將本地的文件上傳到服務(wù)器

asp將本地的文件上傳到服務(wù)器

熱門標簽:百度競價排名 科大訊飛語音識別系統(tǒng) 地方門戶網(wǎng)站 服務(wù)器配置 硅谷的囚徒呼叫中心 集中運營管理辦法 阿里云 網(wǎng)站排名優(yōu)化

今天我們講解如何利用asp的上傳功能將本地的文件上傳到服務(wù)器上。
最簡系統(tǒng)包括下面三個文件:

upload.htm                         --上傳口文件,選擇本地文件
uploadimg.asp                  --上傳程序控制文件
upload_5xsoft.inc            --無組件上傳類,此文件初學(xué)者不用學(xué)習(xí),只要會用就可以了

upload.htm內(nèi)容————上傳口文件,選擇本地文件

html>
head>
/head>

body>
table width="80%" border="0" align="center">
form name="form1" method="post" action="uploadimg.asp" enctype="multipart/form-data">
tr>
  td align="center">input name="upfile" type="file" id="upfile">/td>
 /tr>
   tr>
  td align="center">input type="submit" name="Submit" value="上傳圖片">/td>
 /tr>
 /form>
/table>
/body>
/html>

uploadimg.asp內(nèi)容————上傳程序控制文件

!--#include FILE="upload_5xsoft.inc"-->
%
dim upload,file,filepath
filepath="UPLOAD/"
set upload=new upload_5xSoft ''建立上傳對象
for each formName in upload.file ''列出所有上傳了的文件
 set file=upload.file(formName) ''生成一個文件對象
 if file.FileSize>0 then     ''如果 FileSize > 0 說明有文件數(shù)據(jù)
 fname = file.filename
 file.SaveAs Server.mappath(filepathfname)  ''保存文件
 end if
set file=nothing
next
set upload=nothing ''刪除此對象

upload_5xsoft.inc內(nèi)容————此文件內(nèi)容不屬于本演練程序內(nèi)容,本演練應(yīng)用此類的方法

SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
dim oUpFileStream

Class upload_5xSoft
 
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.93"
set Form=Server.CreateObject("Scripting.Dictionary")
set File=Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes1 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)
Response.Write "font size=""2"">頁面執(zhí)行時間:"FormatNumber((Timer() -time1)*1000,3)"毫秒/font>br>"
oUpFileStream.Position=0
RequestBinDate =oUpFileStream.Read 
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
 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)
 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)
 '取得文件類型
 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
 else
 '如果是表單項目
 tStream.Close
 tStream.Type =1
 tStream.Mode =3
 tStream.Open
 oUpFileStream.Position = iInfoEnd 
 oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-3
 tStream.Position = 0
 tStream.Type = 2
 tStream.Charset ="gb2312"
 sFormvalue = tStream.ReadText 
 form.Add sFormName,sFormvalue
 end if
 tStream.Close
 iFormStart=iFormStart+iStart+1
 wend
RequestBinDate=""
set tStream =nothing
End Sub

Private Sub Class_Terminate 
if not Request.TotalBytes1 then
 form.RemoveAll
 file.RemoveAll
 set form=nothing
 set file=nothing
 oUpFileStream.Close
 set oUpFileStream =nothing
 end if
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

End Class

Class FileInfo
 dim FormName,FileName,FilePath,FileSize,FileType,FileStart
 Private Sub Class_Initialize 
  FileName = ""
  FilePath = ""
  FileSize = 0
  FileStart= 0
  FormName = ""
  FileType = ""
 End Sub
 
 Public function SaveAs(FullPath)
  dim oFileStream,ErrorChar,i
  SaveAs=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 
  SaveAs=0
 end function
End Class
/SCRIPT>

此文所訴的內(nèi)容是上傳文件的最簡化程式,請朋友們自己分析一下,學(xué)會本演練,asp一般的上傳功能就基本掌握了

您可能感興趣的文章:
  • asp.net“服務(wù)器應(yīng)用程序不可用” 解決方法
  • js獲取.aspx頁面里面的服務(wù)器控件和.ascx中的服務(wù)器控件值
  • aspx 服務(wù)器架設(shè)問題解決
  • Asp.net的服務(wù)器推技術(shù) (Server Push)
  • Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例
  • jquery獲取ASP.NET服務(wù)器端控件dropdownlist和radiobuttonlist生成客戶端HTML標簽后的value和text值
  • asp中判斷服務(wù)器是否安裝了某種組件的函數(shù)
  • IIS服務(wù)器中 ASP.NET State Service 開啟后 Session 仍容易丟失的問題終極解決辦法
  • asp在服務(wù)器把 XML 轉(zhuǎn)換為 XHTML的實現(xiàn)代碼
  • win2008 r2 服務(wù)器環(huán)境配置(FTP/ASP/ASP.Net/PHP)
  • iis8.5顯示ASP的詳細錯誤信息500 內(nèi)部服務(wù)器錯誤解決方法
  • 服務(wù)器安全狗導(dǎo)致ASP.NET網(wǎng)站運行出錯的一個案例
  • 推薦4款傻瓜型的ASP服務(wù)器軟件(asp運行環(huán)境一鍵搭建工具)
  • asp服務(wù)器如何搭建

標簽:隨州 開封 西雙版納 威海 廣西 梧州 甘孜 烏蘭察布

巨人網(wǎng)絡(luò)通訊聲明:本文標題《asp將本地的文件上傳到服務(wù)器》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    雷山县| 怀仁县| 龙口市| 离岛区| 酒泉市| 中江县| 安宁市| 忻城县| 安达市| 噶尔县| 安义县| 碌曲县| 姜堰市| 克拉玛依市| 赤城县| 思茅市| 平陆县| 金沙县| 澎湖县| 交城县| 佛教| 康平县| 邯郸市| 二连浩特市| 洛隆县| 白玉县| 鹤山市| 易门县| 嘉峪关市| 新源县| 泸西县| 施甸县| 仪陇县| 江阴市| 吴旗县| 穆棱市| 泸西县| 江西省| 唐河县| 府谷县| 司法|