Blob non è solamente il titolo di un film del 1958, dove una massa informe uccideva la gente, ma è pure l’acronimo di un tipo di dato dei database, e significa: Binary Large OBject
Il campo Blob contraddistingue un dato binario, che può essere immagazzinato direttamente in database. Ad esempio una immagine, invece di salvarla nel file system (HD del server) è possibile caricarla direttamente nel record del DataBase, permettendo un maggior ordine nei dati. Attenzione: non tutto è ora quello che luccica. In questo modo (nel caso di servizi internet) i file binari dovranno essere comunque letti dal DataBase, trasferiti sul WebServer e quindi condivisi: c’è un passaggio di trasmissione dati in più!
Nel sito Awads.net c’è un ottimo tutorial che spiega perfettamente come gestire i Blob utilizzando Coldfusion e, in questo caso, un DataBase Oracle. Non è comunque un problema utilizzare la medesima tecnica per altri DataBase, sempre che supportino i Blob.
Aggiungo all’articolo solo alcuni passaggi particolari.
Se dovete inviare un file ad una pagina per immagazinarlo in un Blob, il form deve essere fatto in questo modo:
<input name="FileName" type="file">
Per ricevere il file la pagina "upload_action.cfm" dovra prima scaricarlo in una cartella temporale:
Quindi leggerlo in modo binario e salvarne il contenuto in una variabile:
Quindi salvarlo nel DB (tramite un Insert o un Upload):
insert into files (file_content) values ( <cfqueryparam value="#file_blob#" cfsqltype="cf_sql_blob"> )
</cfquery>
Per leggere il Blob in coldfusion dal DB e renderlo disponibile, è altrettanto facile.
Dapprima setto il tipo di oggetto per la condivisione, in questo caso come "allegato" di nome "myFile.xls":
Recupero il dato dal DB:
select file_content from files where id_file = 10
</cfquery>
Lo rendo disponibile:
Quest’ultimo procedimento è un po’ come la pubblicazione di RSS o file XLS prodotti in Coldfusion.
Ricordo che il procedimento è opera dell’autore della pagina anche qui linkata, ho solo fatto alcuni appunti in italiano.
Se trovi questo articolo su un blog diverso da “blog.merlinox.com” si tratta probabilmente di una copia non autorizzata. L’indirizzo originale di questo articolo è: Coldfusion e Blob database object scritto da Merlinox.

heheh
1)
http://www.etechs.it/howto/database/load-file-into-LOB-field.php
2)
http://www.etechs.it/programming/cfusion/lob-field-with-cold-fusion.php
3)
http://www.etechs.it/howto/database/Oacle-DBMS_LOB-functions.php
4)
http://www.etechs.it/programming/cfusion/CLOB-Oracle-ColdFusion.php
un’altro po’ di cosine in più
Che fai spammi? Scherzo: grazie mille per i riferimenti