[SP-pm] [off-topic]sugestão de como fazer o banco de dados referenciar documentos

eutsiv :: Geovanny Junio geovanny at eutsiv.com.br
Thu Sep 23 06:10:44 PDT 2010


2010/9/23 Eden Cardim <edencardim at gmail.com>

> 2010/9/23 eutsiv :: Geovanny Junio <geovanny at eutsiv.com.br>:
> > Estou desenvolvendo um site, um projeto pessoal
> > (http://pt-br.uaigo.com/user/view/1), e eu previa a necessidade de
> armazenar
> > muitas imagens, não sei se é abordagem correta, mas fiz o seguinte:
> >
> > -> Obtenho o hash SHA1 do arquivo a ser salvo.
> > -> Gero o diretório onde o arquivo será salvo, usando a seguinte lógica:
> > Obtenho as 2 primeiras letras do hash, e crio o primeiro diretório,
> depois
> > as 4 primeiras letras, crio um subdiretório, depois as 6 primeiras
> letras,
> > crio outro subdiretório, e então salvo o arquivo lá com o nome sendo o
> > próprio hash.
> >
> > Um exemplo: /images/db/pl/plH3/plH3VO/plH3VOFNc6XfQkbVWHY_BX04TeA.png (
> > /images/db/ é a raíz )
> >
> > E mapeio no banco as infos referentes a imagem através de um UUID
> associado
> > a ela.
> >
> > Talvez essa abordagem ajude nessa caso citado.
>
> http://search.cpan.org/perldoc?DBIx::Class::InflateColumn::FS



As vezes eu subestimo a CPAN e como sempre me ferro :(
Deveria ter procurado lá, além de ter economizado muito trabalho, o código
ficaria mais bonito.

Valeu Eden.



>
>
> --
>    Eden Cardim       Need help with your Catalyst or DBIx::Class project?
>   Code Monkey                    http://www.shadowcat.co.uk/catalyst/
>  Shadowcat Systems Ltd.  Want a managed development or deployment platform?
> http://blog.edencardim.com/            http://www.shadowcat.co.uk/servers/
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100923/8c5c892c/attachment-0001.html>


More information about the SaoPaulo-pm mailing list