Avatar billede bgo Nybegynder
21. februar 2005 - 17:33 Der er 1 løsning

adodb.stream - download giver korrupte filer

Nedenstående script undrer mig - jeg fik det herinde fra for meget lang tid siden, og nu da jeg er ved at lave en hel del om på mit site får jeg det testet langt bedre igennem end tidligere.

Det der undrer mig er, at downloads af mp3-filer går fint - musikken kan høres som den skal. Men avi-filer og zip-filer er korrupte.

Målet var, at browseren skulle sætte en download igang, og ikke forsøge at vise filen i browservinduet - og dén del funker jo fint nok, og filerne har også de rigtige filnavne og filstørrelser - det hjælper jo så bare ikke noget hvis nogle af filerne er korupte ;)

Jeg er kun nået så langt at jeg kan teste med .zip, .mp3 og .avi - men jeg ville gerne kunne bruge det til andre filtyper også (forudser bl.a. .ac3, .jpg, .bmp)

Hvad er der galt med scriptet, og hvordan får jeg det til at virke?

Set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Open
  Const adTypeBinary = 1
  objStream.Type = adTypeBinary
  'objStream.LoadFromFile Replace(filename,"/","\") 
  objStream.LoadFromFile url
  Response.AddHeader "Content-Disposition", "attachment;filename=" & dbfilename
  Select Case right(dbfilename,3)
          Case "asf"
              ContentType = "video/x-ms-asf"
          Case "avi"
              ContentType = "video/avi"
          Case "doc"
              ContentType = "application/msword"
          Case "zip"
              ContentType = "application/zip"
          Case "xls"
              ContentType = "application/vnd.ms-excel"
          Case "gif"
              ContentType = "image/gif"
          Case "jpg", "jpeg"
              ContentType = "image/jpeg"
          Case "wav"
              ContentType = "audio/wav"
          Case "mp3"
              ContentType = "audio/mpeg3"
          Case "mpg", "mpeg"
              ContentType = "video/mpeg"
          Case "rtf"
              ContentType = "application/rtf"
          Case "htm", "html"
              ContentType = "text/html"
          Case "asp"
              ContentType = "text/asp"
          Case Else
              'Handle All Other Files
              ContentType = "application/octet-stream"
  End Select

  Response.ContentType = ContentType

 
  Response.BinaryWrite objStream.Read
Avatar billede bgo Nybegynder
27. februar 2005 - 21:50 #1
lukker - det viste sig kun at være et problem når jeg testede på min egen maskine
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