Armazenar imagens
Postado em 28/11/2010 00:00
0
0
Oi PessoALL,

Estou precisando fazer uma loja virtual e armazenar as imagens dos produtos.

Mas é tipo um site de leilão, onde usuários publicam seus produtos.

Sou novato em aplicação Web, neste caso eu teria que criar pastas com o nome do login do usuário e subpastas de produtos no servidor...

ALLguém pode me dar uma ideia de como fazer isso, quais comandos ou se tem uma maneira melhor ?

Creio que armazenar no banco de dados não é uma boa opção...
Tags: Mundo Grails
xnox
Pontos: 5






0
0
29/11/2010 00:00
Oi xnox,

realmente, salvar no banco de dados não é a melhor solução (nem a pior). se for para salvar os arquivos em diretórios, no entanto, você tem de tomar cuidado para manter os seus arquivos sincronizados com os registros em seu bd ok? Este é o grande perigo.

Mas bem: eu faço isto o tempo inteiro, e vou te dar o caminho das pedras. Primeiro você vai ter de usar um formulário com enctype do tipo mime. Neste caso, Grails te ajuda com a tag uploadForm (<!-- m --><a class="postlink" href="http://grails.org/doc/latest/ref/Tags/uploadForm.html">http://grails.org/doc/latest/ref/Tags/uploadForm.html</a><!-- m -->)

No controlador, você vai escrever um código muito similar ao que vou colar abaixo:

def save = {

def path = &quot;C&#58;/seu_caminho&quot; + System.getProperty(&quot;file.separator&quot;) + request.getFile(&quot;arquivo&quot;).getFileItem().getName()
def arquivo_fisico = new File(path)
if (! arquivo_fisico.getParentFile().exists()) {
arquivo_fisico.getParentFile().mkdirs() // crio os diretórios raiz caso não existam
}
request.getFile(&quot;arquivo&quot;).transferTo(new File(path))

}


Mais sobre upload com Grails:
<!-- m --><a class="postlink" href="http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.1.9">http://grails.org/doc/latest/guide/6.%2 ... html#6.1.9</a><!-- m --> Uploading Files

Henrique Lobo Weissmann (Kico)
Pontos: 1485



0
0
30/11/2010 00:00
Puxa, valew mesmo

não fazia ideia deste uploadform... <!-- s:-) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":-)" title="Smile" /><!-- s:-) -->

Achei um material completo aqui:
<!-- m --><a class="postlink" href="http://www.ibm.com/developerworks/br/library/j-grails06099/">http://www.ibm.com/developerworks/br/li ... ails06099/</a><!-- m -->

Obrigado

xnox
Pontos: 5



0
0
30/11/2010 00:00
[quote=&quot;kicolobo&quot;]
realmente, salvar no banco de dados não é a melhor solução (nem a pior).[/quote]

Olá Kico.

Gostaria de sua opinião (e experiência) a respeito do salvamento de imagens diretamente no banco de dados.
Quando você considera que pode ser uma boa solução e uma má solução?

Tenho um aplicativo com fotos dos funcionários da empresa que armazeno diretamente no banco (facilita muito na hora de exibir as imagens). Você acha que o problema de armazenamento no banco pode ser o tamanho das imagens, a quantidade de imagens??

Agradeço pelas dicas que puder repassar.

arisales
Pontos: 94



0
0
05/01/2011 00:00
[quote=&quot;arisales&quot;][quote=&quot;kicolobo&quot;]
realmente, salvar no banco de dados não é a melhor solução (nem a pior).[/quote]

Olá Kico.

Gostaria de sua opinião (e experiência) a respeito do salvamento de imagens diretamente no banco de dados.
Quando você considera que pode ser uma boa solução e uma má solução?

Tenho um aplicativo com fotos dos funcionários da empresa que armazeno diretamente no banco (facilita muito na hora de exibir as imagens). Você acha que o problema de armazenamento no banco pode ser o tamanho das imagens, a quantidade de imagens??

Agradeço pelas dicas que puder repassar.[/quote]

Nassa, só vi seu post agora. Mil desculpas pela demora na resposta!
Minha opinião sobre este assunto é a seguinte: sempre da merda. A não ser que sejam arquivos muuuito pequenos e seu controle seja absurdo.

A única limitação do sistema de arquivos pode ser o número de itens presentes em um diretório. No EXT3, por exemplo, são 32000, mas você pode contornar adotando alguma política bacana de organização dos arquivos.

Henrique Lobo Weissmann (Kico)
Pontos: 1485



 


Esqueceu sua senha?
 
Grails Brasil é mantido por itexto Desenvolvimento de Projetos Ltda.
Em caso de problemas, sinta-se livre para procurar Henrique Lobo Weissmann (Kico) por e-mail: kicolobo@itexto.net
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão (clique no logo à direita para maiores detalhes)