Avatar billede mickill Nybegynder
01. februar 2002 - 10:59 Der er 1 kommentar og
1 løsning

Download tvang

Hej

Jeg kunne godt tænke mig at man på min sidde kan downloade en masse forskellige filer (doc, pdf, mp3, etc.). Problemet er bare at når man trykker på et link til en af disse filer, så bliver filen åbnet i browseren.

For at undgå dette har jeg prøvet med dette script:

<%
Option Explicit
Response.Expires = 0
Response.Buffer = TRUE
Response.AddHeader "Content-Disposition","attachment; filename=download.doc"
Response.AddHeader "Content-Description","ASP Generated Data"
Response.ContentType = "application/doc"

Dim vntStream, oMyObject

Set oMyObject = Server.CreateObject("MyObject.BinRead")
vntStream = oMyObject.readBinFile(server.mappath("download.doc"))

Response.BinaryWrite(vntStream)
Response.Flush
%>

Nu kommer der også som der skal en box frem hvori man har muligheden for at gemme filen på sin harddisk.
Problemet er bare at den fil som der bliver downloadet overhovdet ikke ligner den fil som det er meningen skal downlades.

Eks: Jeg har lavet doc. dokument hvori der stå "Hej med dig", og gemt det som download.doc. Den fil som bliver downloadet hedder det samme (downoad.doc) men indeholder følgende:

<font face="Arial" size=2>
<p>Server object</font> <font face="Arial" size=2>error 'ASP 0177 : 800401f3'</font>
<p>
<font face="Arial" size=2>Server.CreateObject Failed</font>
<p>
<font face="Arial" size=2>/vvc/download.asp</font><font face="Arial" size=2>, line 11</font>
<p>
<font face="Arial" size=2>Invalid class string


</font>
Er der nogen som kan fortælle mig hvad jeg gør galt, eller er der en anden måde man kan gøre det på..

På forhånd tak
Avatar billede rou Nybegynder
01. februar 2002 - 11:13 #1
Du skal sandsynligvis opgradere til MDAC2.7 på serveren, ellers kan du ikke bruge det object som du Streamer med.
Avatar billede rou Nybegynder
01. februar 2002 - 11:17 #2
Her er et eksempel jeg har brugt på et extranet.
Det ved jeg da virker, men det kræver som sagt MDAC2.7

<%
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile Server.MapPath(strFilePath & strFileName)

Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.AddHeader "Content-Length", strFileSize
Response.ContentType = "application/doc"

Response.BinaryWrite objStream.Read
Response.Flush

objStream.Close
Set objStream = Nothing
%>

- Rou
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