Avatar billede suntj Nybegynder
22. marts 2001 - 23:32 Der er 5 kommentarer og
2 løsninger

Download fra database

Jeg vil gerne lave et script, hvor man kan downloade filer gemt i en database.

Jeg har følgende, som dog kun gøre at filen bliver udkrevet. Det vil sige, at hvis der er gemt et billede bliver det vist.

Set conn = Server.CreateObject(\"ADODB.Connection\")
conn.open \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\")
SQL = \"SELECT * FROM docs WHERE (id =\" & Request(\"ID\")*1 & \")\"
Set Record = Server.CreateObject(\"adodb.recordset\")
Record.Open SQL, Conn, 2, 3
If Not Record.EOF Then
Response.ContentType = \"application/octet-stream\"
Response.AddHeader \"Content-Disposition\", \"filename=\" & Record(\"name\")
Response.BinaryWrite Record(\"sbinary\")
End if

Jeg vil gerne have at der kommer en \"gem som\" boks op.
Avatar billede keysersoze Guru
23. marts 2001 - 00:00 #1
så skal du vist over at kigge på lidt med brugen af komponenter... fx aspupload...

men du skal lige finde ud af hvad du kan bruge først...
Avatar billede torbenkoch Nybegynder
23. marts 2001 - 07:31 #2
Du vil altså have noget i stil med:

<A HREF=\"dit script.asp\" type=\"image/jpeg\">Et billede </A>

Om type skal være \"image/jpeg\" afhænger naturligvis af, om filen er et billede eller hvad. Her er en liste over content types:

http://www.html.dk/dokumentation/html4/tags/link/contenttypes.txt

Avatar billede bongi Juniormester
23. marts 2001 - 09:15 #3
Jeg tror at dit problem ligger i at browseren automatisk viser billedet hvis det er i et format den genkender (kan vise) så hvis folk skal have mulighed for at gemme filen skal du nok omdøbe den til et andet format eller zippe den før du gemmer den i databasen
Avatar billede suntj Nybegynder
23. marts 2001 - 11:21 #4
keysersoze -> Jeg har aspupload, og det eksempel jeg har skrevet er fra dem. Jeg har ikke mulighed for at bruge andre upload komponenter da det skal ligge hos en ekstern udbyder

torbenkoch -> Det hjælper mig ikke, når inputtet først skal omdannes til en fil der kan downloades.

bongi-> Du har fuldstændig ret, men jeg vil gerne have at jeg ikke behøver at omdøbe filen, da det gør det mere besværligt for brugerne.
Avatar billede keysersoze Guru
23. marts 2001 - 12:10 #5
men med ASPupload ligger der så vidt jeg ved en mulighed for en gennemtvinge download på alle ting vha en database - mener der følger et eksempel med til deres dokumentation...
Avatar billede suntj Nybegynder
23. marts 2001 - 12:55 #6
Jeg har selv fundet ud af det. keysersoze gav mig ledetråden, så han keysersoze får 50 point. Resten tager jeg selv, da ejg selv skulle finde løsningen.

Herunder er løsningen:

<%
Set myRecordSet = Server.CreateObject(\"adodb.recordset\")
myRecordSet.Open
Set myUpload = Server.CreateObject(\"aspSmartUpload.SmartUpload\")
myUpload.DownloadField(myRecordSet(\"FILE\"))
myRecordSet.Close
Set myRecordSet = nothing
%>

Avatar billede torbenkoch Nybegynder
23. marts 2001 - 20:03 #7
Fiks lille tingest, den aspSmartUpload - vil lige spørge: Den der DownLoadField - genererer den de rigtige content types automatisk eller hvordan fungerer det?
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