日期:2008-12-12  浏览次数:20903 次

<%
' This is coded by nick@stilwell.ws
'using the upload.ASP example from ASP101.com

' and combining it with the mail object to allow
' you upload a pic from your pc and email to anyone anywhere
' at anytime maybe it should be called martini mail
Response.Buffer = true
Function BuildUpload(RequestBin)
    'Get the boundary
    PosBeg = 1
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    boundaryPos = InstrB(1,RequestBin,boundary)
    'Get all data inside the boundaries
    Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
          'Members variable of objects are put in a dictionary object
          Dim UploadControl
          Set UploadControl = CreateObject("Scripting.Dictionary")
          'Get an object name
          Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
          Pos = InstrB(Pos,RequestBin,getByteString("name="))
          PosBeg = Pos+6
          PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
          Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
          PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
          PosBound = InstrB(PosEnd,RequestBin,boundary)
          'Test if object is of file type
          If PosFile<>0 AND (PosFile<PosBound) Then
              'Get Filename, content-type and content of file
              PosBeg = PosFile + 10
              PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
              FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
              'Add filename to dictionary object
              UploadControl.Add "FileName", FileName
              Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
              PosBeg = Pos+14
              PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
              'Add content-type to dictionary object
              ContentType = getStri