USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  ASP - Active Server Page
Voltar
Autor Assunto:  Upload de mais de 1 arquivo
Túlio
não registrado
Postada em 13/10/2004 10:47 hs   
Aloha Galera,
 
to precisando de um código ou alguma dica de como implementar em asp um código para se fazer upload... mas tem q ser de mais de 1 arquivo... por exemplo: colocar uns 5 objetos de formulário do tipo File e ao clicar em enviar.. ele faz o upload dos 5 arquivos ou dos que tiverem o value diferente de vazio... entenderam??? tenho um código aki que faz upload de 1 numa boa.. sem usar nenhum componente... atraves do multipart/form.... segue o código abaixo... v c alguem consegue implementa-lo para mais de 1 arquivo... desde ja agradeço!
 
---- Primeiro chamo a função Upload()
 
  Public Function Upload()
   Dim file
   stream.Type = 1
   stream.Open
   
   ParsePost()
   
   If uploadedFileSize<=0 Then
    Upload = 1
   ElseIf not FSO.FolderExists(path) Then
    Upload = 2
   Else
    If CheckExtension(uploadedFileName) Then
     on error resume next
     
     stream.SaveToFile FSO.BuildPath(path, uploadedFileName), 2
    
     If err.Number<>0 Then
      Upload = 3
     Else
      Upload = 0
     End If
    Else
     Upload = 4
    End If
   End If
   
   stream.Close
  End Function
--- Funcão ParsePost() que trata o conteudo do multipart/form.
 
  Private Sub ParsePost()
   Dim biData, sInputName
   Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
   Dim nPosFile, nPosBound
   
   Dim tmpStream
 
   biData = Request.BinaryRead(Request.TotalBytes)
   nPosBegin = 1
   nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
   
   If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
   
   vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
   nDataBoundPos = InstrB(1, biData, vDataBounds)
   
   nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
   nPos = InstrB(nPos, biData, CByteString("name="))
   nPosBegin = nPos + 6
   nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
   sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
   nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
   nPosBound = InstrB(nPosEnd, biData, vDataBounds)
   
   If nPosFile <> 0 And nPosFile < nPosBound Then
    nPosBegin = nPosFile + 10
    nPosEnd =  InstrB(nPosBegin, biData, CByteString(Chr(34)))
    uploadedFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    uploadedFileName = Right(uploadedFileName, Len(uploadedFileName)-InStrRev(uploadedFileName, ""))
 
    nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
    nPosBegin = nPos + 14
    nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
     
    contentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
    
    nPosBegin = nPosEnd+4
    nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
  
    Set tmpStream = Server.CreateObject("ADODB.Stream")
    tmpStream.Type = 1
    tmpStream.Open
    tmpStream.Write biData
    tmpStream.Position = nPosBegin-1
    tmpStream.CopyTo stream, nPosEnd-nPosBegin
    Set tmpStream = Nothing
    
    uploadedFileSize = stream.Size
   End If
  End Sub
  ' String to byte string conversion
  Private Function CByteString(sString)
   Dim nIndex
   For nIndex = 1 to Len(sString)
    CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
   Next
  End Function
 
  ' Byte string to string conversion
  Private Function CWideString(bsString)
   Dim nIndex
   CWideString =""
   For nIndex = 1 to LenB(bsString)
    CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
   Next 
  End Function
 End Class
 
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 13/10/2004 11:57 hs         
oi, eu até agora só consegui fazer isso usando aspupload(http://www.aspupload.com/manual_simple.html >> exemplos) e tb. é possível com aspsmartupload(http://www.aspsmart.com/aspSmartUpload/ >> exemplos)
 
e no mais eu fico devendo
 
abs,

http://www.vilmarbro.com.br
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página