165 messaggi dal 10 aprile 2001
OK Moreno, fatto.
La pagina che spero possa diventare poi un HttpHandler, funziona.

Poi, ho preso questo esempio JQuery che è molto bello (http://www.jqueryscript.net/gallery/Responsive-Mobile-Friendly-Image-Gallery-Plugin-nanoGALLERY.html); ma (ovviamente) per ora ho usato solo il primo esempio...
L'ho anche già fatto in una pagina aspx e funziona: ma però...tutto in maniera statica. E sinceramente non ho idea di come possa trasformarlo in dinamica: anche perchè il java lo uso rarissimamente ed elementarmente.
Beh, non mi resta che attendere tue news. Intanto mmille grazie davvero.
Saluti
Roberto
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao Roberto,
ok, benissimo fin qui.

robycave ha scritto:

ma (ovviamente) per ora ho usato solo il primo esempio...
...
il javascript lo uso rarissimamente ed elementarmente.

Ok, allora dovresti mettere in pratica il secondo esempio, denominato "Sample 2". Lo trovi nel solito file demonstration.html che hai scaricato con lo zip di nanoGallery.

Nel secondo esempio, i percorsi delle immagini non sono forniti via javascript, ma attraverso codice HTML che si trova nella pagina. Guarda com'è fatto l'HTML della div relativa al sample 2.
<div id="nanoGallery2">
    <a href="image_01.jpg" data-ngthumb="image_01ts.jpg" data-ngdesc="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet interdum magna. Nunc luctus leo ut blandit tempor. Suspendisse at auctor lorem, sed hendrerit arcu.">Thailand</a>
    <a href="image_02.jpg" data-ngthumb="image_02ts.jpg" data-ngdesc="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">Vietnam</a>
    <a href="image_03.jpg" data-ngthumb="image_03ts.jpg" data-ngdesc="">India</a>
</div>

Vedi che nella div sono presenti dei link <a> che recano degli attributi ben precisi, come href, data-ngthumb e data-ngdesc. Ebbene la nanoGallery è in grado di attingere le informazioni direttamente da questi attributi. Dobbiamo sfruttare questa opportunità perché capisco che sia molto più abbordabile rendere dinamico dell'HTML che non del javascript.

Quando hai reso funzionante il Sample 2 nella tua pagina aspx, rendilo dinamico variando il contenuto della div id="nanoGallery".
Dovrai far apparire tanti link <a> quante sono le immagini presenti nel tuo database. Usa quindi un controllo Repeater o una ListView per avere un preciso controllo sull'output che apparirà all'interno di quella DIV. Come attributo href dei tag <a> dovrai mettere il percorso alla pagina aspx che hai già realizzato, cioè quella che estrae l'immagine dal database. A proposito, quella funziona? Riesci a vedere un'immagine se digiti l'opportuno percorso, comprensivo di id del record, nella barra degli indirizzi del browser?

ciao,
Moreno

Enjoy learning and just keep making
165 messaggi dal 10 aprile 2001
Buongiorno Moreno e ancora grazie mille per gli aiuti e gli insegnamenti.
Ti confermo che la pagina aspx che recupera l'immagine dal db sql funziona. Ti confermo che la richiamo creando gli <a href dinamicamente con un Repeater, come mi hai indicato.
L'unica cosa, se possibile, è però che l'esempio a me più calzante sarebbe l'1a quello con l'API (<div id="nanoGalleryMLN">), perchè in realtà il mio scopo è mostrare una serie di "cornici" conteneti l'immagine data-ngthumb, ma ad ognuna di queste, su click, dovrei poter sfogliare più di una foto associate a quell'ID...(tipo Album1, Album2... come si vede nella nanoGalleryMLN); ma ahimè è in java. Non è che riusciresti a darmi qualche indicazione mirata su questo?
Nel frattempo colgo ancora l'occasione per ringraziarti davvero tanto.
Buona giornata e buon week end.
Roberto
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Roberto,
quello che hai già fatto va bene, infatti nanoGallery può visualizzare degli album sia mediante codice javascript che mediante markup html, come hai fatto. Devi solo aggiungere degli attributi all'html che hai già.

Ad esempio, per fare in modo che una thumb sia considerata un album, devi produrre questo html.
<a href="image_02.jpg" data-ngthumb="image_02ts.jpg" data-ngid="19" data-ngkind="album" data-ngdesc="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">Vietnam</a>

Vedi che sono comparsi due nuovi attributi? data-ngkind deve valere "album" mentre su data-ngid devi mettere un valore a tua scelta che lo identifichi univocamente. Non per forza dev'essere un valore numerico; può anche essere una stringa. Potresti usare l'id assegnato al record nel tuo database.

A questo punto devi legare alcune immagini a quell'album, affinché siano visualizzate al suo interno.
Questo lo realizzi con l'attributo data-ngalbumid.
Ecco un'immagine legata all'album dell'esempio precedente, a cui avevamo dato id 19.
<a href="image_03.jpg" data-ngthumb="image_03ts.jpg" data-ngalbumid="19" data-ngdesc="">Landscape</a>

Realizzare tutto questo risulterà più semplice se la tabella che contiene le tue immagini ha un campo "idGenitore" che contiene l'id del record a cui l'immagine è sottoposta.

ciao,
Moreno

Enjoy learning and just keep making
165 messaggi dal 10 aprile 2001
Beh, da oggi ti chiamerò Maestro!
Ti ringrazio davvero tanto per le spiegazioni.
Ora possiamo passare alla "conversione" della pagina che legge l'immagine dal database (in binario) ad HttpHandler?
Mi sono documentatop un poco a riguardo, ma senza esempi non mi è chiaro come procedere.
Buona giornata.
Roberto
Modificato da robycave il 14 aprile 2014 15.50 -
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao Roberto, prego.

La sintassi per scrivere un httphandler asincrono è diversa a seconda che tu stia usando il framework 4.5 o altra versione, di cui trovi un esempio passo-passo qui:
http://msdn.microsoft.com/en-us/library/ms227433(v=vs.100).aspx

In alternativa, se non hai esigenze particolari per tenere l'immagine nel database, valuta il consiglio di Domenico:

cmq fossi in te non salverei sul db img, ma su filesystem

Salvare le immagini sul disco produrrà risultati migliori, perché IIS potrà servire il file direttamente, senza coinvolgere una pagina o un httphandler come intermediario.

Ciò che perderesti è la facilità di backup, perché oltre a fare un dump del database dovresti organizzarti per creare una copia dei file su disco. Probabilmente il discorso del backup non è neanche importante se ti stai affidando ad un servizio di hosting che lo svolge per tuo conto.

ciao,
Moreno

Enjoy learning and just keep making
165 messaggi dal 10 aprile 2001
Mi spiace ma devo tornare al punto precedente: l'album.
Devo fare due cicli (nel repeater)? Ma con due sqldatasource diversi?
Altrimenti mi mette tanti album quante sono le foto per ogni ID.
Roberto
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Roberto,

robycave ha scritto:

Devo fare due cicli (nel repeater)? Ma con due sqldatasource diversi?

Dipende. Com'è strutturato il tuo database? Album e foto si trovano su tabelle diverse o sulla stessa tabella? Posta la struttura.

Enjoy learning and just keep making

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.