Avatar billede bongo20 Nybegynder
07. juli 2004 - 18:04 Der er 21 kommentarer og
1 løsning

Upload image til DB

Jeg vil gerne på min side give brugeren mulighed for at uploade et billede, som jeg vil have gemt i min sqlserver.

Jeg har fundet forskellige artikler som beskriver det meget forskelligt og meget forvirrende.

Er der nogen her som har en letforståelig forklaring?

:)
Avatar billede arne_v Ekspert
07. juli 2004 - 18:40 #1
Kender du den her artikel:
  http://www.ondotnet.com/pub/a/dotnet/2002/04/01/asp.html
?

(den ser ret nem ud i mine øjne)
Avatar billede arne_v Ekspert
07. juli 2004 - 18:42 #2
Det var VB.NET til disk fil.

Den her er C# til disk fil eller database:
  http://www.codeproject.com/aspnet/fileupload.asp
Avatar billede bongo20 Nybegynder
07. juli 2004 - 20:11 #3
Jeg har nu prøvet det første link du sendte og det virker fint.
Der vises dog kun hvordan man får filen op i serverens filstruktur, men hvordan får jeg den ned i min DB?
Avatar billede arne_v Ekspert
07. juli 2004 - 20:27 #4
Der gør du bare helt normalt.

Kig evt. på mit andet link (WriteToDB metoden).
Avatar billede bongo20 Nybegynder
07. juli 2004 - 21:21 #5
Jaaa jeg synes nu det er det rene volapyk med hans db tilgang...
Jeg vil gerne gøre noget i retning af:

Insert into MyDb ( PicField ) values ( ???? my pic ???? );

Men spørgsmålstegnene indikerer at jeg ikke er klar over om man skal pege på en sti der eller ??? kan det overhovedet gøres sådan ?
Avatar billede arne_v Ekspert
07. juli 2004 - 21:47 #6
Du kan ikke indsætte binære filer med en ren SQL INSERT sætning.

Du kan bruge en DataAdapter og et DataSet som i der eksempel.

Eller du kan bruge en Parameter.
Avatar billede bongo20 Nybegynder
07. juli 2004 - 22:03 #7
Ok det må jeg jo have lært så, du kender ingen steder hvor de bruger c# og sqlserver ?
Avatar billede arne_v Ekspert
07. juli 2004 - 22:32 #8
Stjæl det eksempel.

Hvis det er SQLServer så erstatter du bare OleDbXxxx med SqlXxxx.
Avatar billede bongo20 Nybegynder
08. juli 2004 - 09:10 #9
okk det er jeg så i gang med,.. men med hvad skal metoden kaldes, der er 3 input parametre,. disse data hvor får jeg dem fra?

specielt:  ref byte[] Buffer
Avatar billede arne_v Ekspert
08. juli 2004 - 09:12 #10
1. argument = filnavn
2. argument = fil type
3. argument = files indhold
Avatar billede powernodes Nybegynder
08. juli 2004 - 15:21 #11
Avatar billede arne_v Ekspert
08. juli 2004 - 20:06 #12
OK ?
Avatar billede bongo20 Nybegynder
08. juli 2004 - 20:38 #13
den her linje fatter jeg ingenting af:

OleDbDataAdapter dbAdapt = new OleDbDataAdapter("SELECT * FROM tblFile", dbConn);

er det helt forkert at dataadapteren skal fylde datasettet op, og datasettet derefter skal fylde indholdet i db?

hvis det foregår sådan, hvorfor starter han så med at fylde et eller andet i dataadapteren, fra en db?????
Avatar billede arne_v Ekspert
08. juli 2004 - 20:40 #14
Et DataSet er en in memory repræsentation af en tabel. Og det skal først sættes
op inden man tilføjer en ny række til DataSet'et som så gemmes i databasen.
Avatar billede bongo20 Nybegynder
08. juli 2004 - 20:45 #15
ahaa det dæmrer lidt, men vil det sige jeg skal lave en "dummy" tabel som kun bruges til at fortælle mit dataset hvordan det skal se ud?
Avatar billede arne_v Ekspert
08. juli 2004 - 21:28 #16
Du har vel en rigtig tabel som der skal gemmes i.

Den bruger du bare.

Der sker ikke noget ved at der ingen rækker er i forvejen.
Avatar billede bongo20 Nybegynder
08. juli 2004 - 21:31 #17
ja ok, jeg tænkte bare på hvad der sker når der er 20.000 rækker i den,.. er det kun tabel definitionen man trækker ud, ellers giver det jo da alvorlige performance problemer...
Avatar billede arne_v Ekspert
08. juli 2004 - 21:35 #18
Jeg ved det ikke.

Jeg har aldrig selv brugt DataSet.

Jeg ville nok lave det med en INSERT med Parameter, hvis jeg skulle lave det.

Men få nu det til at virke med DataSet først.

Jeg formoder ikke at du skal have 20000 rækkee lagt ind imorgen.
Avatar billede arne_v Ekspert
08. juli 2004 - 21:37 #19
Her er et fjerde eksempel som bruger INSERT med Parameter:

http://www.aspfree.com/c/a/ASP.NET/Uploading-Images-to-a-Database--C---Part-I/

se metoden SaveToDB.
Avatar billede bongo20 Nybegynder
09. juli 2004 - 10:36 #20
Kanon arne, nu virker dataset løsningen...

Et lille spørgsmål dog: Den gemmer jo først filen på disken, er det ikke uhensigtsmæssig?
Kommer det ikke til at fylde 2 steder? Bør man slette den på disken efterfølgende?
Avatar billede arne_v Ekspert
10. juli 2004 - 16:09 #21
Ikke forstået.

Hvis det er codeproject linket du henviser til så skal du enten gemem på fil eller
i database, men ikke begge dele.
Avatar billede bongo20 Nybegynder
11. juli 2004 - 11:15 #22
Du har ret Arne, det er fordi jeg har rodet med resizing af billederne, og har blandet tingene lidt sammen...

Du får pointene nu, mange tak for hjælpen :o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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