Imagens Upload , Discussão para entendimento de como o SC trabalha

(Haroldo) #1

“Gostaria de discutir aqui, compartilhar e adquirir conhecimentos de toda a tratativa que o SC faz no assunto de upload de imagens tanto por arquivo como por banco de dados”.

Recentemente tive que construir uma aplicação para cadastramento de produtos e suas imagens a serem usadas numa loja virtual, e me deparei com diversos obstáculos, falta de entendimento, estranheza nos conceitos e falhas que ao longo do tempo vou colocando aqui minha experiência.
Mas gostaria que os colegas discutissem aqui a respeito.

(Jeová Soares) #2

Pelo que sei…
-Na inclusão do registro, o scriptcase faz upload o arquivo criando uma cópia temporária no diretório tmp do sistema, inclui o registro sem o arquivo binário e depois faz um update na tabela incluindo apenas o arquivo no campo blob, pois precisa fazer tratamento no arquivo para reconhecimento do binário e inclusão no banco.
-No caso de alteração creio que seja idêntico, porém, deve tratar o arquivo antes e fazer apenas um update.
-Sempre que entrar em uma tela que visualiza ou disponibiliza o arquivo, é criado um arquivo temporário no diretório tmp da aplicação (baixa do banco) para que possa criar o link (documento) ou visualização (imagem) na consulta/formulário; Daí a necessidade de configurar o ambiente de produção com um tempo de vida para o diretório temporários do sistema;

-Se o arquivo for imagem (jpg, bmp, etc), o arquivo é guardado em forma binária em um campo tipo blob e é recuperado automaticamente dependendo da forma como que é formatado o campo numa consulta;
-Se o arquivo for de outro formato (pdf, por exemplo) o campo é guardado em forma binária em um campo do tipo blob também, porém, precisará de pelo menos mais um campo onde será guardado o nome do arquivo para posterior recuperação. No formulário quando especificar que o campo é do tipo Documento (Banco de dados), o sc mostrará um campo para que seja informado qual o campo na tabela receberá o nome do arquivo e outro para o tamanho do arquivo (este último não obrigatório). Na consulta, deverá informar da mesma maneira, assim, o sc faz a ligação do nome do arquivo com o campo blob, recuperando o arquivo.

(Haroldo) #3

Muito bom Omax.

se o arquivo for guardado em banco de dados ao fazer o upload, o sc o joga para uma pasta temporária, e ao submeter o formulário, o sc trata a imagem e a inseri no banco de dados.
Ao visualizar o sc recria uma miniatura da imagem.

Bem, passei por dificuldades com o sc, por não ter controle sobre isso, e acabei eu fazendo o que o sc faz, criei as funções de tratamento de imagem, inclusivo com crop, e eu faço a inserção no banco

e me preocupo em limpar a pasta temporária.

(Eduardo Alves) #4

Indo alem, antigamente (SC 4) eu fazia upload de imagens (cadastro com imagem). Ontem fui testar essa opção, ao incluir uma imagem no cadastro novo, deu um erro (Falha no Upload). Dei permissão 777 em varios diretorios /tmp /prod/tmp etc mais nao consigo fazer essa gravação.

No modo de desenvolvimento, ele faz a atualização normalmente e grava a imagem, quando eu publico, ocorre esse erro.