Armazenar imagens
28/11/2010 00:00
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


0
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


0
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
30/11/2010 00:00


0
[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.
30/11/2010 00:00


0
[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.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto