upload com barra progressiva

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

upload com barra progressiva

Mensagem 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
Avatar do usuário
zazibr
Usuário Nível 2
Usuário Nível 2
Mensagens: 72
Registrado em: 11 Set 2004 17:07
Localização: Campo Grande/MS

upload com barra progressiva

Mensagem por zazibr »

se usa ou nao GUI pode se basear por esse exemplo

http://bielsys.blogspot.com.es/2009/02/ ... ca-de.html
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

upload com barra progressiva

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

upload com barra progressiva

Mensagem 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.


Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

upload com barra progressiva

Mensagem por sygecom »

Abel,
Está usando Harbour ou xHarbour ?

Como está chamando a: UPLOAD_ARQ( FTPDIR, cTamanho, farq, oSAY1 ) ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

upload com barra progressiva

Mensagem 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

Responder