165 messaggi dal 10 aprile 2001
Buongiorno.
Sto cercando un esempio per mostrare una lista di immagini formattata in stile griglia: tipo youtube o simili...
Le immagini che voglio mostrare sono archiviate in formato binario nel database SQL Express 2012.
Qualcuno ha dei suggerimenti per cortesia?
Grazie per l'attenzione.
Buona giornata.
Roberto
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Roberto,
puoi usare un plugin di jquery tipo Wookmark, oppure uno dei altri che trovi qui (scegli secondo il tuo gusto).
http://www.jqueryscript.net/tags.php?/Pinterest/

robycave ha scritto:

Le immagini che voglio mostrare sono archiviate in formato binario nel database SQL Express 2012.

Ok. Scrivi un HttpHandler ashx che interroghi il database, estragga il contenuto binario, e lo stampi nella Response. Non dimenticare di impostare il Content-Type a "image/jpeg" o comunque al valore che identifica il tipo di immagine.

Qui trovi un esempio fatto con una pagina aspx. Tu se puoi fallo con un HttpHandler asincrono, il concetto è analogo.
http://www.aspitalia.com/script/570/Visualizzare-Immagine-Estratta-Database-ASP.NET.aspx

ciao,
Moreno

Enjoy learning and just keep making
165 messaggi dal 10 aprile 2001
Mi vergogno, ma devo ammettere che è troppo caotico per me.
Intendo dire che non sono capace di mettere insieme i pezzi: non esiste un esempio finito?
IN altre parole: ammettendo che ho un file aspx...dove metto i pezzi jquery? come li "fondo" con l'altro esempio dell'httphandler (anche qeusto è per me un nuovo concetto che devo studiare)
3.939 messaggi dal 28 gennaio 2003
 Dividi il problema in alcune parti. Concentrati su una parte per volta e magari chiedi aiuto qui nel forum.
Quando hai collaudato i singoli pezzi, li unisci.
Non è difficile ma ci vuole un po' di pazienza.
Ciao.

ps.
da quello che vedo, molto velocemente:
1) prototipo per visualizzare immagini con dato stile
2) prototipo per leggere immagini archiviate in db
3) prototipo per imparare ad usare HttpHandler
Modificato da pietro09 il 02 aprile 2014 16.49 -
165 messaggi dal 10 aprile 2001
Mille grazie a entrambi.
OK, il plugin di jquery è prelevabile dal sito indicato, ed ho anche la parte "2", ovvero il codice che legge le immagini (una alla volta) dal db. Ma non ho alcuna idea di come "mischiarli" o meglio "incastrarli"...
165 messaggi dal 10 aprile 2001
Ancora grazie Moreno. Questo è il codice (purtroppo uso VB) della pagina che mi hai indicato (che estrae l'immagine binaria dal sql db)...
Ma com'è che lo converto in HttpHandler asincrono?

<%@ Page Language="VB" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<!DOCTYPE html>

<script runat="server">

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ID1 As Integer
Dim Nome As String
ID1 = Convert.ToInt32(Request.QueryString("ID1")) 'recupero il codice

'Connect to the database and bring back the image contents & MIME type for the specified picture
Using myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("FationChemConnectionString").ConnectionString)

Const SQL As String = "SELECT [MIMEType], [Foto] FROM [Photo] WHERE [Cod] = @ID1"
Dim myCommand As New SqlCommand(SQL, myConnection)
myCommand.Parameters.AddWithValue("@ID1", ID1)
myConnection.Open()
Dim myReader As SqlDataReader = myCommand.ExecuteReader
If myReader.Read Then
Response.ContentType = myReader("MIMEType").ToString()
Response.BinaryWrite(myReader("Foto"))
End If
myReader.Close()
myConnection.Close()
End Using
End Sub
</script>

...e soprattutto: come lo dò in pasto al Jquery Wookmark (che tra l'altro con IE va in errore)?
Modificato da robycave il 03 aprile 2014 14.46 -
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao Roberto,

robycave ha scritto:

Ma com'è che lo converto in HttpHandler asincrono?

Per adesso non lo convertire, va bene anche così com'è. Quella che ti consigliavo io era un'ottimizzazione che non è il caso di fare ora. Verifica semplicemente che la pagina ti restituisca l'immagine desiderata quando le fornisci il parametro ID1.
Scrivi il suo URL nella barra degli indirizzi del browser. Ad esempio:
http://localhost:porta/NomePagina.aspx?ID1=123

...e ti deve visualizzare l'immagine situata sul record che ha id 123 nel database.

Se questo funziona, per ora lascialo lì e passa ad uno degli altri punti che pietro09 ha identificato per te. Il primo punto era:

pietro09 ha scritto:
1) prototipo per visualizzare immagini con dato stile

Dunque scegli una di quelle gallerie che ti ho linkato (oppure prendine un'altra a tuo piacimento). Segui scrupolosamente le indicazioni che trovi nel loro sito. Solitamente si tratta di scaricare uno zip che contiene dei file css, js e delle immagini.
Crea una pagina HTML (non serve aspx per ora) e referenzia quei file css e js. Non farlo alla cieca, perché nel sito è sempre scritto quale codice devi scrivere e dove. A questo punto prepara una cartella con 3-4 immagini: per ora ci interessa testare il funzionamento della galleria e non la sua integrazione con il database. Per questo motivo, finché prendi dimestichezza con la galleria, le immagini possono trovarsi in una cartella locale, così è più semplice.
Quando pensi che sia tutto pronto, apri la pagina HTML e verifica che sia tutto a posto. Se non funziona, apri la console di sviluppo del browser (tasto F12) e dalla console controlla se ci sono eventuali errori javascript.

Quando hai terminato questi passi, sarà il momento di mettere insieme le due cose. Di questo ne parliamo dopo.

ciao,
Moreno

Enjoy learning and just keep making
24 messaggi dal 19 ottobre 2010
cmq fossi in te non salverei sul db img , ma su filesystem
sul db puoi salvarti il nome , dimensione , data di carimanto, path dove si trova.

lo trovo molto + performante

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.