Uploada de Arquivo...

(joaquim) #1

Boa tarde a todos.
Fiz uma aplicação de controle simples onde o usuário precisa me enviar um arquivo não muito grande algo em torno de 1 a 10 mb, o problema é que quando ele clica no botão enviar quando a conexão é muito lenta, fica demorando para enviar então ele pensa que travou ou que não esta funcionando. Eu gostaria de uma barra de progresso para mostrar que esta sendo enviado o arquivo, mas como ainda não tem direto no SC, queria saber como faço para colocar uma mensagem ou um gif “Enviando aguarde…” de forma a mostrar para o usuário que esta sendo enviado o arquivo.
Obrigado.

(Rodrigo Lins) #2

Bom Dia,

Seria interessante observar os valores que estão configurados no PHP tambem, pode ser que esteja excedendo o tempo limite de upload, etc e esteja acontecendo este problema. Tente verificar as propriedades do PHP:

  • max_execution_time
  • upload_max_filesize
  • post_max_size

E com relação ao código, tem este aqui que já peguei de outros companheiros, não sei se lhe atende:

echo "

";

Rodrigo Lins.

(joaquim) #3

Onde entraria este código?

(Haroldo) #4

Inclua o gif animado em uma das aplicações no item do menu: Aplicações/Configurações.

*O Sc costuma mudar o nome do arquivo, verifique este e passeo como parâmetro da função, ou mande o arquivo gif manualmente.

Crie uma biblioteca com o nome Carregando com o conteúdo:

<?php Function Carregando($imagem="carregando.gif") { Echo "
"; } ?>

No evento onInit dos formulários coloque:

if (!$this->NM_ajax_flag) {
Carregando();
}

Em filtros , consultas não há necessidade do If, apenas fa função.

O Código:

  • max_execution_time
  • upload_max_filesize
  • post_max_size
    são parâmetros do arquivo php.ini que depois de alterados, deve-se reiniciar o servidor web.

Se tiver duvidas baixe o exemplo de sistema multi-linguagens dinâmico lá do site da associação de usuários scriptcase ajax (http://www.scriptcaseajax.com.br)

(joaquim) #5

Fiz conforme informado, mas da erro na hora de executar a aplicação

Fatal error: Call to undefined function carregando() in C:\Arquivos de programas\netmake\v4\wwwroot\scriptcase\app\sc_sa

já fechei o SC e abri novamente e nada…
a função foi criada na Biblioteca Publica conforme indicada…

(Haroldo) #6

me parece que está com c minusculo, e o nome da função esta com C (maiusculo), vc habilitou a biblioteca na aplicação?
Se é uma aplicação de controle, precisa ver se essa linha funciona. (if (!$this->NM_ajax_flag) {
…)
Mas o carregando só vai mostrar na carga da aplicação, não durante o upload.

(joaquim) #7

eu quero é durante o upload!!!
como eu habilito a biblioteca no controle?

(Haroldo) #8

no upload não sei fazer com sc.

tente esse pacote nesse link: http://pecl.php.net/package/APC

Programação/Bibliotecas habilite a biblioteca em questão.

(joaquim) #9

Harold, Obrigado pela dica, mas não quero nada complicado, só mesmo um gif animado informando que esta sendo feito o upload do arquivo.

(Haroldo) #10

seria tão bom se tudo fosse simples.

(George Carvalho) #11

Harold,

Em uma aplicação consulta seria o mesmo procedimento???

Grato

(Haroldo) #12

para aparecer o CARREGANDO…?
Sim, é simples:
No evento onScriptInit:
Carregando();

Criar a bilioteca Carregando:

<?php Function Carregando($imagem="carregando.gif") { Echo "
"; } ?>

Em aplicações importe a gif animada a ser usada.

*pode ser usado em qualquer aplicação

(George Carvalho) #13

Harold,

Criei a biblioteca, adicionei na aplicação, coloquei a chamada no evento onScriptInit, deu o erro reportado pelo colega: Fatal error: Call to undefined function carregando() in C:\Arquivos de programas\netmake…

Estou utilizando a versão 5.01.0008.

Alguma sugestão?

Obrigado

(Haroldo) #14

Tente usar: Carregando();
não: carregando();

chamada as funções é case sensitive.

(George Carvalho) #15

Harold,

Ja tinha testado assim e também não funcionou.

(George Carvalho) #16

Harold,

Alguma sugestão?

Grato

(Haroldo) #17

eu precisaria ver a aplicação, pois não faz sentido não dar certo. Pelo erro, parece que não encontra a função.
Se você criou a biblioteca, associou a aplicação, e a esta chamando corretamente no evento tem que funcionar.

(George Carvalho) #18

Obrigado Harold,

Descobri o erro, estava colocando a chamada da Biblioteca em onApplicationInit e o correto é no evento onScriptInit.

Grato

(George Carvalho) #19

Só não consegui colocar para funcionar em aplicação consulta, Módulo inicial / Geração Excel.

(Haroldo) #20

Na onApplicationInit as bibliotecas ainda ão foram carregadas pelo SC.
Quanto a consulta, Módulo Inicial (não sei o que quer dizer?) Geração Excel, realmente não tem evento disponível que seja executado antes de exportar os relatórios.