Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [jsp] inserire file in un db

    Salve a tutti
    Ho un piccolo problema, vorrei inserire dei file nel mio database. Mi spiego meglio....Sto creando un portale all'interno del quale ci sono numerosi form. In alcuni di questi ci sono delle textarea dove gli utenti hanno la possibilità di inserire quello che vogliono.Io vorrei che le informazioni che gli utenti immettono in queste textarea vengano salvate all'interno del db come file(.txt o .pdf tanto per intendeci), in modo che successivamente possano essere visualizzate dagli appositi editor. Come db uso mysql e jsp per la creazione delle pagine.
    Ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Scusa... ma perchè vorresti inserire i commenti come file?
    Non sarebbe più comodo inserirli come stringhe e poi usare le pagine jsp per generare file txt di cui fare il download?

    Comunque allo stesso modo potresti utilizzare java (in questo caso una servlet ci starebbe proprio bene..) per creare un file txt con il testo letto dalla textarea. Poi al database passerai il percorso assoluto del file. Forse così ottimizzi l'uso del db: i file li tieni fuori, all'interno del db memorizzi solo le informazioni che ti interessano, la posizione del file ed eventuali parole chiave.

    Bah.. sta a te decidere se mettere nel db solo il percorso o tutto il file. Dipende da quanti sono e dalla loro dimensione. Se sono tanti e piccoli conviene metterli nel db, o come stringa o come file.

    Spero tu non abbia problemi con le api di java.sql...

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Non vorrei inserirle come stringhe perchè come ben saprai i campi del db sono limitati come numero di caratteri che si possono inserire, e non vorrei che si venisse a creare il problema, in quanto all'interno delle textarea devo dare la possibilità agli utenti di scrivere quello che vogliono, senza imitarli ad un numero di caratteri. Comunque i file saranno numerosi, ma di piccole dimensioni, in quanto non sono altro che esiti di esami medici, per cui il sistema dovrà memorizzare file da quando entrerà in funzione fino ad un tempo illimitato(10-20 anni....tanto per farmi capire), quindi comprenderai bene che i file fra 10 anni questi file saranno saranno parecchi. Per questo non so che metodo adottare, se salvarli come file e tenerli fuori dal db e memorizzare nel db solo la stringa con il percorso, cosa che ho già fatto precedentemente, oppure memorizzarli come file direttamente all'interno del db, oppure se ci sono altre soluzione a me sconosciute.
    Grazie

  4. #4
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Originariamente inviato da domenico066
    Comunque i file saranno numerosi, ma di piccole dimensioni, in quanto non sono altro che esiti di esami medici, per cui il sistema dovrà memorizzare file da quando entrerà in funzione fino ad un tempo illimitato(10-20 anni....tanto per farmi capire), quindi comprenderai bene che i file fra 10 anni questi file saranno saranno parecchi.
    Grazie
    Allora di sicuro la soluzione migliore è quella di avere tutto nel db e per questa ^ affermazione.
    Prova ad immaginare la situzione di 10^20 file sparsi per cartelle nel tuo hd...con un'indicizzazione discutibile( path ) che potrebbero esser spostati per errore o qualsiasi problema legato a file.
    Mentre nel tuo db sono mappati per un id, un'eventuale data ed un riferimento medico....decisamente senza paragoni....di rapido accesso. E' vero che se sbagli nel db rischi di perdere tutto, ma la comodità è quella di avere tutto organizzato, facile da raggiungere e senza preoccuparsi se hai i permessi o meno di scrivere file in particolari porzioni di hd ( qualora il programmi giri su un'altra macchina ) ed inoltre di spostare solamente un file ( il db ) e non migliaia e migliaia di cartelle con dei piccoli file...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  5. #5
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Non vorrei inserirle come stringhe perchè come ben saprai i campi del db sono limitati come numero di caratteri che si possono inserire
    Certo che sono limitati, però un campo di tipo TEXT in MySQL 5 può contenere fino a circa 2^16 bytes = 65.536 bytes

    Ora bisognerebbe sapere quanti byte servono per fare un carattere (possono essere 1 o 2), supponiamo siano 2, in un campo TEXT ti sta una stringa di circa 30.000 caratteri. Quindi, come vedi, il limite c'è, ma potrebbe anche essere trascurabile.

    Se non ti bastano, che ne diresti di un LONGBLOB o di un LONGTEXT? Sono 2^32 bytes

    Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  6. #6
    Infatti quello che volevo fare era inserirli direttamente i file nel db....Il problema e che non so come farlo in jsp.Se qualcuno ha un esempio di inserimento file da form o anche un link a qualche pagina che spiega come farlo sarebbe molto gradito. Certo è anche vero che per un referto medico 30.000 caratteri sarebbero piu che sufficienti, pero mi piacerebbe inserire tale referti come file direttamente nel db......HELP
    Grazie

  7. #7
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    A occhio e croce ti occorre una PreparedStatement.

    Ti consiglierei di iniziare da qui:http://java.sun.com/docs/books/tutor.../prepared.html

    Oppure puoi passare direttamente qui: http://www.java2s.com/Code/Java/Data...eintoMySQL.htm

    Se il secondo suggerimento ti soddisfa, non ringraziare me, ma Google! E se al contrario non ti va bene.. prenditela con Google... Ciao!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  8. #8
    Grazie mille, il secondo suggerimento direi che fa proprio al caso mio. Comunque se posso disturbare ancora vorrei chiedere un ultima cosa...Le informazioni vengono inserite tramite form,che fovranno essere trasformati successivamente in file...mi conviene trasformare il tutto in file all'interno di una cartella e poi passarli poi nel database,oppure usare uno script(tanto per fare un esempio) che mi converte le informazioni dei form in file e salvarli direttamente nel db.Anche qui se c'è un esempio sarebbe proprio gradito.
    Grazie mille ancora

  9. #9
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Lo vedi che inserire file complica solo la vita...
    -> ricevi una stringa via form -> la trasformi in file -> apri il file -> inserisci il file nel database.

    Se invece trattassi tutto come stringa eviteresti un paio di passaggi: eviteresti di scrivere il file temporaneo sul server e poi di doverlo leggere per inserirlo nel database.

    Comunque il file lo puoi create con FileWriter e BufferdWriter (ovviamente ti invito a leggere le api di entrambi): http://java.sun.com/docs/books/tutor...o/buffers.html

    Ciao
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.