13. december 2005 - 09:37Der er
30 kommentarer og 1 løsning
hente binær fil fra mssql
jeg har en tabel i en sqldatabase som indeholder et id felt og et datafelt, datafeltet er af typen binary, deri har jeg lavet et script der kan uploade filer til, men hvordan får jeg dem hentet? jeg har brug for at lave en side hvor man angiver id´et og så kan man hente filen. jeg har søgt, både her på eksperten, men også generelt og har ikke kunnet finde noget som kunne give mig en idé om hvordan det skal gøres.
jeg har hentet dataen ud som et byte array, og har læst mig til at jeg kan bruge Response.ContentType = "application/octet-stream"; Response.BinaryWrite(bytearray); er jeg forkert på den?
det er flere forskellige filer jeg skal levere, så jeg må lave noget der selv finder ud af det, men det burde ikke være et problem.
jeg har filen liggende i sql tabellen, men kan se at mit bytearray converting ikke helt virker som det skal, hvordan har du gjort det? jeg hiver det ud via en mycommand.executescalar(); men hvordan kommer jeg så derfra og til et bytearray
jeg tror jeg har fundet ud af at det er min uploadkode der kun smider første byte op, hvis jeg kigger på dataen rå så står der noget der ligner :"0x6200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 "
hvilket for mig ser ud som et enkelt tegn. eller er det mig der er forkert på den igen?
hvis jeg printer den rå data fra docbuffer direkte på skærmen så ser det også ud som om det virker, får i alt fald dataen fra et helt almindeligt text dokument smidt i hovedet.
jeg har prøvet at "fake" noget data, simpelthen ved bare at skrive 0x23023425 osv derudaf, og så kan jeg fint hente det ud igen, så det må være selve upload proceduren der kun smider den første byte op på serveren, men hvorfor kan jeg ikke lige se
grmbl, verdens dummeste fejl er nu fundet, den stored procedure der håndterede det havde en variable der bare var sat til at være binary, og ikke binary(x), dvs den kun kunne indeholde 1 byte da det blev rettet kørte det, ret dumt :(
smid et svar, du har trodsalt brugt ret langt tid på mig idag
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.