Italian [B4J] Visualizzatore immagini memorizzate su dispositivo remoto - che sistema per trasferirle in locale?

amorosik

Expert
Licensed User
Sto realizzando la classica schermata che mostra il dettaglio articoli
Associata ad ogni articolo ci sono una o piu' immagini
Le immagini sono fisicamente memorizzate sul computer A
Le postazioni che devono visualizzare le immagini sono B, C, E
Che sistema usereste per trasferire le immagini da A verso le singole postazioni?
Smb? Http? Ftp? Mqtt? Piccione?
Fattori da considerare:
- la semplicita' di installazione e manutenzione della parte 'server'
- i vari computer potrebbero anche essere dislocati distanti geograficamente
 

Star-Dust

Expert
Licensed User
Longtime User
- i vari computer potrebbero anche essere dislocati distanti geograficamente
Quindi non si tratta di una rete locale.
Dovrebbe avere anche una qual He forma do sicurezza immagino.
Nel.server hai solo le foto o anche altri dati?

Suppongo che non vuoi usare server FTP o DB esterni o anche cloud
 
Last edited:

amorosik

Expert
Licensed User
Si, rete wan
Il computer che contiene le immagini e' anche il db server
Si, sto parlando di elaboratori da tenere in-house, non roba esterna
 

giannimaione

Well-Known Member
Licensed User
Longtime User
utilizzo in modo semplice una WebVieW
B4X:
web.LoadUrl("https://www.miosito.abc/immagini_prodotti/cheBellaFoto.jpg")
questo per le immagini presenti su un sito di ecommerce.

non so se funziona in locale;
provare per credere
 

Star-Dust

Expert
Licensed User
Longtime User
Si, rete wan
Il computer che contiene le immagini e' anche il db server
Si, sto parlando di elaboratori da tenere in-house, non roba esterna
Quindi hai un database che sta sempre attivo e che risponde alle richieste. Un server Http credo sia il metodo più semplice.
Per il mio modo di fare proverei a mettere le immagini in una tabella nel DB e avere tutto insieme.
 

Star-Dust

Expert
Licensed User
Longtime User
utilizzo in modo semplice una WebVieW
B4X:
web.LoadUrl("https://www.miosito.abc/immagini_prodotti/cheBellaFoto.jpg")
questo per le immagini presenti su un sito di ecommerce.

non so se funziona in locale;
provare per credere
I PC nella rete locale possono indirizzare all'IP o al nome server locale, non è insormontabile
 

AlpVir

Well-Known Member
Licensed User
Longtime User
Per il mio modo di fare proverei a mettere le immagini in una tabella nel DB e avere tutto insieme
A mio modo di vedere le immagini non debbono stare in una tabella del DB ma in files esterni; nel db ci va solo il nome del file.
 

Star-Dust

Expert
Licensed User
Longtime User
Allora come sopra ti suggerirei http se cerchi la semplicità di mantenimento del server.

Trovi molti server Http gratuiti che devi installare e far partire. Anche in B4J trovi sorgenti per server HTTP semplici da far funzionare. Sicuramente più semplici di MTTQ

Ftp io lo escluderei, per non consentire la scrittura dei file dall'esterno (non si sa mai), per lo stesso motivo eviterei SMB. MA se la rete fosse solo con accessi Locali o una DZM non avrei obiezioni.
 
Last edited:

amorosik

Expert
Licensed User
Quindi hai un database che sta sempre attivo e che risponde alle richieste. Un server Http credo sia il metodo più semplice.
Per il mio modo di fare proverei a mettere le immagini in una tabella nel DB e avere tutto insieme.

Naaaaaaa, le immagini nel db naaaaaaaa
Scherzo ovviamente, anche questa e' una possibilita'
Sono intimorito dalla dimensione che potrebbe assumere
Le immagini sono diverse decine di migliaia, non so se hai mai visto il catalogo online di Osculati, quella e' una parte delle immagini
Per ogni articolo ci sono diverse immagini, piccola, media, grande, con altri particolari, ecc
Dal punto di vista logico, tenerle nel db sarebbe piu' semplice, ma mi preoccupa per le dimensioni
 

amorosik

Expert
Licensed User
Allora come sopra ti suggerirei http se cerchi la semplicità di mantenimento del server.

Trovi molti server Http gratuiti che devi installare e far partire. Anche in B4J trovi sorgenti per server HTTP semplici da far funzionare. Sicuramente più semplici di MTTQ

Ftp io lo escluderei, per non consentire la scrittura dei file dall'esterno (non si sa mai), per lo stesso motivo eviterei SMB. MA se la rete fosse solo con accessi Locali o una DZM non avrei obiezioni.

Si, giusto, per motivi di sicurezza sarebbero read-only
Ma poi come faccio ad inserire un articolo nuovo e le immagini?
Devo avere anche una modalita' di scrittura
Dici che ftp lo escluderesti? Esattamente per che motivo?
Chiedo perche' finora sarebbe stato la mia prima scelta
Facile da installare, utenti in lettura ed utenti in scrittura, messo su porta diversa dalla 21, e senza risposte che possano facilitare eventuale hackeraggio
 

amorosik

Expert
Licensed User
utilizzo in modo semplice una WebVieW
B4X:
web.LoadUrl("https://www.miosito.abc/immagini_prodotti/cheBellaFoto.jpg")
questo per le immagini presenti su un sito di ecommerce.

non so se funziona in locale;
provare per credere

Eh si, perche' non dovrebbe funzionare?
Se hai il web server sul 192.168.1.100, e chiami dal pc 192.168.1.10, ammesso che il dsn restituisca l'ip wan del tuo router e che lo stesso sia configurato per redirigere le chiamate porta 80 sul 192.168.1.100, dovresti vederle
Fai il giro dal 'di fuori' ma l'utente neanche se ne dovrebbe accorgere
 

Star-Dust

Expert
Licensed User
Longtime User
Si, giusto, per motivi di sicurezza sarebbero read-only
Ma poi come faccio ad inserire un articolo nuovo e le immagini?
Devo avere anche una modalita' di scrittura
Dici che ftp lo escluderesti? Esattamente per che motivo?
Chiedo perche' finora sarebbe stato la mia prima scelta
Facile da installare, utenti in lettura ed utenti in scrittura, messo su porta diversa dalla 21, e senza risposte che possano facilitare eventuale hackeraggio
Per l'inserimento, credo di aver capito che si fa dal computer SERVER e non dai Client. Quindi non c'è bisogno di un FTP. Basterebbe avere una cartella dove risiedono le immagini e quella sarà pubblica su server HTTP.

Sempre per come farei io... mi creerei un Applicativo lato server tipo pannello di controllo che mi inserisca i dati nel DB e immagini nella cartella in una sola operazione. Dal pannello vorrei gestire tutto.

FTP, se non è necessario aggiornare le immagini dall'esterno è un servizio in più non necessario e sarebbe una possibilità in più per introdursi illecitamente nel server.
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Eh si, perche' non dovrebbe funzionare?
Se hai il web server sul 192.168.1.100, e chiami dal pc 192.168.1.10, ammesso che il dsn restituisca l'ip wan del tuo router e che lo stesso sia configurato per redirigere le chiamate porta 80 sul 192.168.1.100, dovresti vederle
Fai il giro dal 'di fuori' ma l'utente neanche se ne dovrebbe accorgere
Quello lo vedrei un problema minore. In rete locale l'IP si può trasmettere con pacchetti UDP in Broadcast a tutta la sottorete. Erel ha realizzato un esempio.


Vedi anche MQTT auto discovery:
 
Last edited:

amorosik

Expert
Licensed User
Per l'inserimento, credo di aver capito che si fa dal computer SERVER e non dai Client. Quindi non c'è bisogno di un FTP. Basterebbe avere una cartella dove risiedono le immagini e quella sarà pubblica su server HTTPS. Dall'interno copi i file.

Sempre per come farei io... Io mi creerei un Applicativo lato server tipo pannello di controllo che mi inserisca i dati nel DB e immagini nella cartella in una sola operazione. Dal pannello vorrei gestire tutto.

FTP, se non è necessario aggiornare le immagini dall'esterno è un servizio in più no necessario e comunque una possibilità in più per entrare nel server.

No, anche l'inserimento deve poter avvenire dai client, forse non ho descritto compiutamente nel post iniziale
Non capisco cosa intendi per 'pannello di controllo' lato server
E' un programma, alternativo al gestionale che possa girare anche sui client oppure e' un'interfaccia utente da far firare sul server immagini per caricare i file immagini?
Perche' se fosse giusta la seconda interpretasione, allora non e' quanto vorrei fare io
Vorrei consentire alle postazioni utente anche di inserire nuove immagini
 

Star-Dust

Expert
Licensed User
Longtime User
No, anche l'inserimento deve poter avvenire dai client, forse non ho descritto compiutamente nel post iniziale
Non capisco cosa intendi per 'pannello di controllo' lato server
E' un programma, alternativo al gestionale che possa girare anche sui client oppure e' un'interfaccia utente da far firare sul server immagini per caricare i file immagini?
Perche' se fosse giusta la seconda interpretasione, allora non e' quanto vorrei fare io
Vorrei consentire alle postazioni utente anche di inserire nuove immagini
Il pannello è integrato era pensato per essere integrato al Gestionale ma solo nel lato server per inserire le immagini. Non un alternativa, proprio per non maneggiare due SW diversi.

Certo se devi far inserire immagini dai Client il discorso è diverso. Le soluzioni andrebbero tutti bene, ma io preferisco sempre HTTP. Anche per inviare con un POST può andare bene. La lettura delle immagini con okHttUtils diventa semplicissimo.

FTP l'ho usato per alcune App che mi hanno commissionato l'anno scorso e richiesto specificatamente FTP per le immagini. Ma sinceramente non lo trovo agevole.
 
Top