Página 1 de 1

upload com barra progressiva

Enviado: 07 Mai 2014 22:32
por Abel
ola, pessoal,
hoje faço envios de arquivos para o site usando um arquivo .bat, com algumas linhas de comando. , minha duvida é como eu poderia melhorar isso com uma barra progressiva, pois as vezes demora e eu nao sei o que esta acontecendo.

alguem tem alguma sugestao ?

Valeu, agradeco desde já ...
Abel

upload com barra progressiva

Enviado: 12 Mai 2014 10:33
por zazibr
se usa ou nao GUI pode se basear por esse exemplo

http://bielsys.blogspot.com.es/2009/02/ ... ca-de.html

upload com barra progressiva

Enviado: 12 Mai 2014 12:54
por sygecom
Abel escreveu:ola, pessoal,
hoje faço envios de arquivos para o site usando um arquivo .bat, com algumas linhas de comando. , minha duvida é como eu poderia melhorar isso com uma barra progressiva, pois as vezes demora e eu nao sei o que esta acontecendo.

alguem tem alguma sugestao ?
Abel
Abel, boa tarde.
Primeiro que acho que direto pelo .BAT para pegar o retorno do andamento e poder montar a barra de progressão em tempo de execução vai dar um tremendo trabalho, na minha opinião primeiro você deve mudar isso para fazer direto pelo Harbour que tem classes para isso já e pode procurar aqui no fórum que vai achar um monte de exemplo.
viewtopic.php?f=4&t=13656&p=79994&hilit=upload#p79994

upload com barra progressiva

Enviado: 21 Fev 2015 18:44
por Abel
Ola leonardo,
adaptei este exemplo no link,

quando faço o envio e chega no uploadfile ela retorna .f. com a seguinte mensagem.

.f. 200 type set to I

o arquivo nao sobe.

se eu mudar o Oftp:bUsePasv para .F. o arquivo sobe mas fica zerado.

sabe o que é isso ?
Abel

Código: Selecionar todos


FUNCTION UPLOAD_ARQ( FTPDIR, cTamanho, farq, oSAY1 )
Local cUrl, oUrl, oFTP, cFTPSERVER:=''

cFTPSERVER:=eFTPSERVER

cUrl := "ftp://" + eFTPUSER + ":" + eFTPPASS + "@" + cFTPSERVER
//
oUrl              := tUrl():New( cUrl )
oFTP              := tIPClientFtp():New( oUrl, .T. )
oFTP:nConnTimeout := 20000
oFTP:bUsePasv     := .T.  // F = ENVIA BINARIO E FICA ZERO BYTE
oFTP:nDefaultPort := eFTPPORTA   //PORTA DO FTP
oFTP:oUrl:cUserID := eFTPUSER
oFTP:oUrl:cServer   := cFTPSERVER
oFTP:oUrl:cPassword := eFTPPASS
//
IF oFTP:Open( cUrl )
   //
   IF !oFTP:Cwd(ftpdir)  // se não achar o diretorio ele para tudo
      ALERT2('VERMELHO','PASTA NAO ENCONTRADA, '+ftpdir)
      oFTP:Close()  // fehca a conexão do FTP
      RETURN.F.
   ENDIF

   oFtp:exGauge := { | done | oSAY1:SETTEXT("Enviando Arquivo: "+ farq + STR((done/cTamanho)*100,4)+" %") }
   // oFTP:exGauge := { | done | Qout("Enviando arquivo:"+ farq + STR((done/cTamanho)*100,4)+" %") }
   //
   @ 5,1 SAY 'TENTANDO UPLOAD'
   //
   ? oFTP:uploadfile( farq ) , oftp:cReply
   //
   if oFtp:UploadFile( farq ) = .f.
      ALERT2('VERMELHO','NAO E POSSIVEL ENVIAR O ARQUIVO ')
      OFTP:CLOSE()
      RETURN .F.
   ENDIF

   oFTP:CWD("..")
   Millisec(1000)

   oFTP:Close()  // fehca a conexão do FTP
ELSE
   ?oFtp:lasterrormessage()
   oFTP:close()
   RETURN .F.
endif
RETURN .T.



upload com barra progressiva

Enviado: 23 Fev 2015 06:08
por sygecom
Abel,
Está usando Harbour ou xHarbour ?

Como está chamando a: UPLOAD_ARQ( FTPDIR, cTamanho, farq, oSAY1 ) ?

upload com barra progressiva

Enviado: 24 Fev 2015 12:28
por Abel
ola, Leonardo,
fiz um teste simples assim.

Código: Selecionar todos


PROCEDURE ENVIA_FTP()
LOCAL aDir0 := directory('L.EXE')
LOCAL nTAMANHO:=aDir0[1,2]
LOCAL oSAY1

IF .NOT. UPLOAD_ARQ( "\programa\" , nTAMANHO, 'L.EXE', oSAY1 )
   ALERT2('VERMELHO','ARQUIVO NAO ENVIADO.')
ENDIF
RETURN NIL