Originariamente inviato da ariari
Innanzitutto grazie =)
Il problema è che la stessa operazione in un'altra classe mi funziona... ho riguardato il codice e non vedo differenze!
E il path cmq lo prendo dal classico bottone Sfoglia che mi fa selezionare la foto...
Cmq in realtà chiedevo se esistesse una funzione java che mi lavori sulla stringa in modo che gli slash non spariscano!
Grazie comunque =)
Intanto vedo nel link che mi hai dato!
Ehm... il link era in risposta alla domanda di Alex.
Come ho già detto, il problema non è il path, ma il modo in cui effettui l'inserimento in DB.
Se sei in ambiente Windows, il path è composto da caratteri di backslash ( \ ) e non da caratteri di slash ( / ) che sono tipici degli ambienti Unix/Linux. Il backslash è un carattere speciale e all'interno delle istruzioni SQL assume un significato ben preciso. Quindi, o effettui un quote di tutti i backslash oppure utilizzi un PreparedStatement che faccia questo al posto tuo.
Ripeto, se sei in ambiente Windows (ancora non lo sappiamo, perchè non lo hai specificato da nessuna parte), è sufficiente questa semplice riga di codice:
codice:
// Faccio il quote dei backslash del percorso
String strPath = this.img.replaceAll("\\\\", "\\\\\\\\");
// Inserisco in DB
DConnessione.istanza().eseguiAggiornamento("UPDATE `rubrica`.`profilo` SET `img` = '"+strPath+"'") ;
(sì: tutti quegli slash sono necessari).
Ciao.