Avatar billede 2c Nybegynder
24. september 2003 - 09:56 Der er 7 kommentarer og
2 løsninger

Indsæt fil i database

Hvordan indsætter jeg en fil i en database med jsp ?
Filen ligger på serveren.

Jeg har en mysql datase installeret, med en tabel oprettet til det, med en kollone af typen longblob.

Jeg har forbindelse til databasen osv.

Jeg ved bare ikke hvordan man indsætter en fil.
Avatar billede arne_v Ekspert
24. september 2003 - 10:00 #1
Du åbner file, læse alle bytes og gemmer dem i et felt af passende
type (en af BLOB'erne).
Avatar billede arne_v Ekspert
24. september 2003 - 10:07 #2
Hvis du ikke vil bruge PreparedStatement og setBinaryStream så kan
du bruge f.eks. PreparedStatement setBlob og Blob.
Avatar billede 2c Nybegynder
24. september 2003 - 10:36 #3
Jeg forstår ikke helt hvad du mener.

Her er hvordan jeg gør lige nu.
File f = new File ("C:\\....");
........
uprs.last();
......
uprs.updateBlob("pictureFile", f);
......
uprs.updateRow();

Hvordan får jeg lavet min file om til typen blob ?
Avatar billede soelvpil Nybegynder
24. september 2003 - 11:16 #4
Er ikke sikker på det vil virke, men forsøg med

uprs.last();
......
uprs.updateInputStream("pictureFile", new FileInputStream(f));
......
uprs.updateRow();
Avatar billede arne_v Ekspert
24. september 2003 - 11:34 #5
Du har 2 muligheder for at bruge Blob.

Enten kan du selv lave en klasse som implementer java.sql.Blob interfacet
eller du kan bruge com.mýsql.jdbc.Blob !
Avatar billede arne_v Ekspert
24. september 2003 - 11:39 #6
Når det er ResultSet og en eksisterende række er det
rs.updateBinaryStream der er alternativ til rs.updateBlob og Blob.
Avatar billede 2c Nybegynder
24. september 2003 - 12:51 #7
Jeg kan stadig ikke få det til at virke :-( Det her er den kode jeg bruger nu:
.....
FileInputStream fin = new FileInputStream("C:\\ddf\\xxx.jpg");
uprs.updateBinaryStream("picturefile",fin,fin.available());
fin.close();
.....
Jeg får følgende exeption:

Errorcode: java.sql.SQLException: Error reading from InputStream java.io.IOException

Er der andre måder at behandle dokumenter fortoligt på serveren ?
Mit problem er at forskellige personer uploader forskellige dokumenter, og dokumenterne må under ingen omstændigheder kunne tilgås af andre.
Avatar billede arne_v Ekspert
24. september 2003 - 17:01 #8
Umiddelbart ser det OK ud.

Så jeg er lidt blank.

Jeg vil overveje at lave et lille eksempel selv. I aften eller imorgen.
Avatar billede 2c Nybegynder
29. september 2003 - 08:41 #9
Tak for jeres hjælp.

Jeg har valgt bare at ligge filerne i en folder på serveren. Så vil jeg senere se om det er muligt at gøre, så det kun er jsp sider der kan læse fra folderen.

Jeg vil lige se om jeg kan finde ud af at acceptere begge jers svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester