loading 请求处理中...

asp怎样上传文件到指定的文件夹

2014-11-13 | 1741 次浏览 | 作者: 未知 | 来源: 未知

asp怎样上传文件到指定的文件夹,并在access中记录路径.txt10有了执著,生命旅程上的寂寞可以铺成一片蓝天;有了执著,孤单可以演绎成一排鸿雁;有了执著,欢乐可以绽放成满圆的鲜花。asp怎样上传文件到指定的文件夹,并在access中记录路径

想上传文件到指定的文件夹,并在access中记录路径,在asp页面中显示所上传的软件,点击直接下载功能。

注意:是上传文件,不是图片。文件包括exe、rar、zip、doc、jpg等等。 

 

最佳答案上传文件页 index.asp  开始

-----------------------------

index.asp 代码如下

function a(htmlurl) {

var win = window.open(htmlurl,"newwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=300,height=10,left=380,top=380");

}

    汽车照片: 

    " readonly>

    

  

上传文件页 index.asp  结束

-----------------------------

 

 

 

uploadprod.asp 选择图片上传  开始

-----------------------------

uploadprod.asp 代码如下

 

上传图片

     

if   (window.Event)       

      document.captureEvents(Event.MOUSEUP);       

        

function   nocontextmenu()       

  {     

    event.cancelBubble   =   true     

    event.returnValue   =   false;     

        

    return   false;     

  }     

        

function   norightclick(e)       

  {     

    if   (window.Event)       

    {     

      if   (e.which   ==   2   ||   e.which   ==   3)     

        return   false;     

    }     

    else     

      if   (event.button   ==   2   ||   event.button   ==   3)     

      {     

        event.cancelBubble   =   true     

        event.returnValue   =   false;     

        return   false;     

      }     

        

  }     

document.oncontextmenu   =   nocontextmenu;     //   for   IE5+     

document.onmousedown   =   norightclick;     //   for   all   others        

 

<%

response.buffer=true

const page_level=1

%>

  

    上传图片

  

  

    选择图片:

    

  

  

    

 

  

 

上传文件页 uploadprod.asp  结束

-----------------------------

 

 

 

判断文件以及文件是否存在则上传 uploadprod2.asp  开始

-----------------------------

uploadprod2.asp  源代码

 

 

图片上传

     

if   (window.Event)       

      document.captureEvents(Event.MOUSEUP);       

        

function   nocontextmenu()       

  {     

    event.cancelBubble   =   true     

    event.returnValue   =   false;     

        

    return   false;     

  }     

        

function   norightclick(e)       

  {     

    if   (window.Event)       

    {     

      if   (e.which   ==   2   ||   e.which   ==   3)     

        return   false;     

    }     

    else     

      if   (event.button   ==   2   ||   event.button   ==   3)     

      {     

        event.cancelBubble   =   true     

        event.returnValue   =   false;     

        return   false;     

      }     

        

  }     

document.oncontextmenu   =   nocontextmenu;     //   for   IE5+     

document.onmousedown   =   norightclick;     //   for   all   others        

 

<% response.buffer=true 

 session("path1")=""

 const page_level=1

%>

<%

AllowFileExtStr = "jpg,gif,png,bmp"

 dim ID

 dim upload,path,file1,filename1

 set upload=new upload_5xSoft'建立上传对象

 '图片上传

 formPath="../Carpic/"'上传图片目录 

 '开始上传图片

  set file1=upload.file("image")

  filename1=year(now())&"-"&month(now())&"-"&day(now())&"_"&hour(now())&"-"&Minute(now())&"-"&Second(now()) & right(file1.FileName,4)

  if file1.FileSize>0 then'如果 FileSize > 0 说明有文件数据

   FileExtName=mid (file1.FileName,InStrRev (file1.FileName, ".")+1)

   if CheckFileType(AllowFileExtStr,FileExtName) = False then

    response.Write   file1.FileName & "
文件:不允许上传!
上传文件类型有:" & AllowFileExtStr &""

    response.Write "
"

    response.Write "你的IP:"&Replace(Request.ServerVariables("REMOTE_ADDR"),"'","")&""

    response.Write "
"

    response.write "你的操作已被系统所记录!"

    response.End()

   end if

  

   file1.SaveAs Server.mappath(formPath&filename1)'保存文件

 '上传图片成功

  path1= "/Carpic/"&filename1

  else

   response.write "请选择要插入的图片文件"

  end if

  session("qczp")=path1

%>

      

图片上传成功.

      

  alert("图片上传成功!");

  opener.document.zc.qczp.value="<%=path1%>";

  window.close();

      

<%set file1=nothing

 

Function CheckFileType(AllowExtStr,FileExtName)

 Dim i,AllowArray

 AllowArray = Split(AllowExtStr,",")

 FileExtName = LCase(FileExtName)

 CheckFileType = False

 For i = LBound(AllowArray) to UBound(AllowArray)

  if LCase(AllowArray(i)) = LCase(FileExtName) then

   CheckFileType = True

  end if

 Next

 if FileExtName="asp" or&nbnbsp;&nbnbsp; FileExtName="asa" or&nbnbsp;&nbnbsp; FileExtName="aspx" or&nbnbsp;&nbnbsp;  FileExtName="php" or&nbnbsp;&nbnbsp;  FileExtName="php3" or&nbnbsp;&nbnbsp;  FileExtName="php4"  or&nbnbsp;&nbnbsp;  FileExtName="php5" or&nbnbsp;&nbnbsp;  FileExtName="exe" then

  CheckFileType = False

 end if

End Function

 

%>

 

%>

 

 

判断文件以及文件是否存在则上传 uploadprod2.asp  结束

-----------------------------

 

 

 

另外需要一个 上传组件 文件为  zupload.asp  开始

-----------------------------

 

代码如下

 

 

dim Data_5xsoft

 

Class upload_5xsoft

  

dim objForm,objFile,Version

 

Public function Form(strForm)

   strForm=lcase(strForm)

   if not objForm.exists(strForm) then

     Form=""

   else

     Form=objForm(strForm)

   end if

 end function

 

Public function File(strFile)

   strFile=lcase(strFile)

   if not objFile.exists(strFile) then

     set File=new FileInfo

   else

     set File=objFile(strFile)

   end if

 end function

 

 

Private Sub Class_Initialize 

  dim RequestData,sStart,vbCrlf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,theFile

  dim iFileSize,sFilePath,sFileType,sFormValue,sFileName

  dim iFindStart,iFindEnd

  dim iFormStart,iFormEnd,sFormName

  Version="上传程序 Version 2.0"

  set objForm=Server.Createobject("scripting.Dictionary")

  set objFile=Server.Createobject("scripting.Dictionary")

  if Request.TotalBytes<1 then Exit Sub

  set tStream = Server.Createobject("adodb.stream")

  set Data_5xsoft = Server.Createobject("adodb.stream")

  Data_5xsoft.Type = 1

  Data_5xsoft.Mode =3

  Data_5xsoft.Open

  Data_5xsoft.Write  Request.BinaryRead(Request.TotalBytes)

  Data_5xsoft.Position=0

  RequestData =Data_5xsoft.Read 

 

  iFormStart = 1

  iFormEnd = LenB(RequestData)

  vbCrlf = chrB(13) & chrB(10)

  sStart = MidB(RequestData,1, InStrB(iFormStart,RequestData,vbCrlf)-1)

  iStart = LenB (sStart)

  iFormStart=iFormStart+iStart+1

  while (iFormStart + 10) < iFormEnd 

 iInfoEnd = InStrB(iFormStart,RequestData,vbCrlf & vbCrlf)+3

 tStream.Type = 1

 tStream.Mode =3

 tStream.Open

 Data_5xsoft.Position = iFormStart

 Data_5xsoft.CopyTo tStream,iInfoEnd-iFormStart

 tStream.Position = 0

 tStream.Type = 2

 tStream.Charset ="gb2312"

 sInfo = tStream.ReadText

 tStream.Close

 '取得表单项目名称

 iFormStart = InStrB(iInfoEnd,RequestData,sStart)

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

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

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

 '如果是文件

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

  set theFile=new FileInfo

  '取得文件名

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

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

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

  theFile.FileName=getFileName(sFileName)

  theFile.FilePath=getFilePath(sFileName)

  '取得文件类型

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

  iFindEnd = InStr(iFindStart,sInfo,vbCr)

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

  theFile.FileStart =iInfoEnd

  theFile.FileSize = iFormStart -iInfoEnd -3

  theFile.FormName=sFormName

  if not objFile.Exists(sFormName) then

    objFile.add sFormName,theFile

  end if

 else

 '如果是表单项目

  tStream.Type =1

  tStream.Mode =3

  tStream.Open

  Data_5xsoft.Position = iInfoEnd 

  Data_5xsoft.CopyTo tStream,iFormStart-iInfoEnd-3

  tStream.Position = 0

  tStream.Type = 2

  tStream.Charset ="gb2312"

         sFormValue = tStream.ReadText 

         tStream.Close

  if objForm.Exists(sFormName) then

    objForm(sFormName)=objForm(sFormName)&", "&sFormValue    

  else

    objForm.Add sFormName,sFormValue

  end if

 end if

 iFormStart=iFormStart+iStart+1

 wend

  RequestData=""

  set tStream =nothing

End Sub

 

Private Sub Class_Terminate  

 if Request.TotalBytes>0 then

 objForm.RemoveAll

 objFile.RemoveAll

 set objForm=nothing

 set objFile=nothing

 Data_5xsoft.Close

 set Data_5xsoft =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 dr,ErrorChar,i

    SaveAs=true

    if trim(fullpath)="" or&nbnbsp;&nbnbsp; FileStart=0 or&nbnbsp;&nbnbsp; FileName="" or&nbnbsp;&nbnbsp; right(fullpath,1)="/" then exit function

    set dr=Createobject("Adodb.Stream")

    dr.Mode=3

    dr.Type=1

    dr.Open

    Data_5xsoft.position=FileStart

    Data_5xsoft.copyto dr,FileSize

    dr.SaveToFile FullPath,2

    dr.Close

    set dr=nothing 

    SaveAs=false

  end function

  End Class

 

另外需要一个 上传组件 文件为  zupload.asp  结束

-----------------------------

 

 

另需要建立一个文件夹来 存放文件

我是用的  formPath="../Carpic/"'上传图片目录 

 

也就是说本程序的上面一个文件夹为  Carpic

相关服务

  • 学术报告PPT设计与完善,学

    学术报告PPT设计与完善,学术

    ¥200.00元/项
  • 董老师(有71892部队医院培

    董老师自我评价:1.个性开朗乐

    ¥150.00元/千字
  • 职业生涯规划

    职业(Career)一词,不同于工作(Jo

    ¥200.00元/千字
  • 各种专业英文文献翻译

    本人工科研究生毕业,已翻译过

    ¥50.00元/千字
  • 英语演讲稿写作、修改及各

    胡老师自我评价:在本科期间获

    ¥200.00元/千字
免费开办
工作室指导