Avatar billede ras2000 Nybegynder
06. marts 2003 - 10:11 Der er 8 kommentarer og
1 løsning

problem med at tvinge download af filer

Jeg har et site hvor man kan downloade forskellige tegninger i forskellige formater. For at browseren ikke skal vise billedet, men downloade det til brugerens maskine, har jeg følgende kode

<% Response.Buffer = TRUE
Response.ContentType = "bad/type"
Response.AddHeader "Content-Disposition","attachment; filename=q1ic.dwg"
%>
<!--#include file="../../filer/dwg/q1ic.dwg"-->

Det virker fint nok, bare der ikke er tegnet "<%" i den fil der skal downloades. Er der nogen der har et forslag til hvordan det kan ordnes?
Sitet kan ses på http://www.mucdesign.dk/detaljer/det.asp?tegning=q1ic&str= , og problemet kan ses ved at klikke på "DWG".
Avatar billede medions Nybegynder
06. marts 2003 - 10:39 #1
Jamen hvorfor kalder du dine filer som skal downloades for FilNavn.Gif.Asp ?

-du skal ikke ha' .asp med!

//>Rune
Avatar billede medions Nybegynder
06. marts 2003 - 10:41 #2
Avatar billede eagleeye Praktikant
06. marts 2003 - 10:53 #3
Du kan bruge dette script:


Du skal havde rette i denne linje som angiver hvilken fil der skal downloades:
grabfile = server.mappath(".") & "\" & request.querystring(("File"))

Her forvendter den at filen ligger i samme folder som ASP filen og så skal den havde fil nanvet på den som skal downloades i en QueryString file eks pålinl

downloadfil.asp?file=q1c.dwg



<%
if instr(request.servervariables("HTTP_USER_AGENT"),"MSIE")>0 then
  Response.ContentType = "application/x-download"
else
  Response.ContentType = "application/octet-stream"
end if
response.addheader "Content-disposition", "inline; filename=" & request.querystring(("File"))   
grabfile = server.mappath(".") & "\" & request.querystring(("File"))
Set oFM = CreateObject("SoftArtisans.FileManager")
Set oBS = oFM.OpenBinaryFile( grabfile )
Response.BinaryWrite( oBS.ReadAll )
%>
Avatar billede eagleeye Praktikant
06. marts 2003 - 11:00 #4
Her er også et eks på kode:
http://www.psacake.com/web/if.asp
Avatar billede ras2000 Nybegynder
06. marts 2003 - 11:13 #5
-medions/Rune: jeg prøvede at omdøbe min asp-side til en dwg fil, men det ændrede ikke noget. Jeg går i gang med at læse artiklen, og se om jeg bliver klogere af det.
-eagleeye: Din kode kræver vist at man har installeret en komponent fra SoftArtisans, der kommer i hvert fald en server fejl:
ActiveX component can't create object: 'SoftArtisans.FileManager'
Avatar billede eagleeye Praktikant
06. marts 2003 - 11:26 #6
Jo ok så ret:
Set oFM = CreateObject("SoftArtisans.FileManager")
Set oBS = oFM.OpenBinaryFile( grabfile )
Response.BinaryWrite( oBS.ReadAll )


Til:
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile grabfile

Response.BinaryWrite objStream.Read
Avatar billede eagleeye Praktikant
06. marts 2003 - 11:26 #7
Eller prøv det sidste link.
Avatar billede ras2000 Nybegynder
06. marts 2003 - 11:41 #8
Jepper, jeg læser og læser, men jeg får også en del forslag ind fra en anden kilde, så jeg har travlt med at holde styr på de forskellige filer...
Avatar billede ras2000 Nybegynder
06. marts 2003 - 13:39 #9
OK, så fik jeg det til at virke, det holdt hårdt... Min endelige kode kom til at se sådan her ud:
<%
Response.Buffer = True
Dim strFilePath, strFileName

Const adTypeBinary = 1

strFilePath = server.Mappath("../filer/" & Right(Request.querystring("tegning"), 3) & "/" & Request.querystring("tegning"))
strFileName = Request.querystring("tegning")

Response.Clear

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath

strFileType = lcase(Right(strFileName, 4))

ContentType = "bad/type"

Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName

Response.Charset = "UTF-8"
Response.ContentType = ContentType

Response.BinaryWrite objStream.Read
Response.Flush

objStream.Close
Set objStream = Nothing

%>
Det fik jeg fra det link eagleeye lagde.
Tak for hjælpen!
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