Avatar billede brock Nybegynder
07. maj 2001 - 09:41 Der er 11 kommentarer og
1 løsning

BinaryWrite af .txt filer til Mac

Jeg har en function, hvor jeg benytter
...
Option Explicit
Response.Expires = 0
Response.Buffer = TRUE
Response.AddHeader \"Content-Disposition\",\"attachment; filename=fil.txt\"
Response.AddHeader \"Content-Description\",\"ASP Generated Data\"
Response.ContentType = \"application/txt\"
Dim vntStream, oMyObject, strfile, strfileext, strbiblo
Set oMyObject = Server.CreateObject(\"MyObject.BinRead\")
vntStream = oMyObject.readBinFile(server.mappath(\"fil.txt\")
response.BinaryWrite(vntStream)
Response.Flush
Set oMyObject = Nothing
Response.End%>
...

funktionen virker meget godt på pc, hvor filen bliver downloaded - men på Mac bliver Txt koden lavet om til en anden slags karaktertegn - f.eks. æøå forsvinder return bliver til firkantede bokse etc.


Er der nogen der ved, hvordan dette problem løses?

Avatar billede senj Nybegynder
07. maj 2001 - 09:56 #1
Prøv at se på denne stump kode!

<Script RunAt=Server Language=VBScript>
  WriteFileToClient \"c:\\images\\adv88.gif\" \':-))

  Sub WriteFileToClient(File)
    Dim ByteArray
    Set ByteArray = CreateObject(\"ScriptUtils.ByteArray\")\'Creates the ByteArray object
    ByteArray.ReadFrom(File)
    Response.AddHeader \"Content-Length\", ByteArray.Length
    Response.ContentType = \"image/GIF\"
    Response.BinaryWrite ByteArray.ByteArray\'Returns byte safearray (VT_UI1)
    ByteArray = Empty
  End Sub
</Script>

/senj
Avatar billede brock Nybegynder
07. maj 2001 - 10:14 #2
jeg forsøgte at gemme scriptet som script.asp og kørte det så - jeg fik fejlen

Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a01ad\'

ActiveX-komponenten kan ikke oprette objektet: \'ScriptUtils.ByteArray\'

/script.asp, linje 6
Avatar billede brock Nybegynder
07. maj 2001 - 10:21 #3
Kan det skyldes, at jeg muligvis ;) mangler en .dll fil ??
Avatar billede brock Nybegynder
07. maj 2001 - 12:09 #4
Senj - forresten, når jeg benytter det andet script til at sende Gif/jpeg opstår der ingen fejl, det er kun i txt/nfo filer, at den \"fucker op\" ???
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 12:10 #5
hæ hæ .. kan skyldes at du mangler muligvis w3Utils (ligner det ..)
Avatar billede senj Nybegynder
07. maj 2001 - 12:10 #6
Virker den kode jeg postede på gif/jpeg?
/senj
Avatar billede brock Nybegynder
07. maj 2001 - 12:38 #7
Nej, jeg mangler jo w3utils - hvor kan man skaffe sådan en kal\'

mvh
Brock
Avatar billede brock Nybegynder
07. maj 2001 - 12:40 #8
ahh Dimac komponenten

- undersøger lige
Avatar billede brock Nybegynder
07. maj 2001 - 12:48 #9
Jeg er villig til at sætte flere point på højkant for løsningen på mit første script... den benytter en .dll (active X) som ser sådan her ud i \"råkilde\"

  Function readBinFile(ByVal bfilename As String) As Variant
          Dim fl As Long
          Dim FileNum As Long
          Dim binbyte() As Byte
          Dim binfilestr As String

          On Error GoTo errHandler
         
          FileNum = FreeFile
          Open bfilename For Binary Access Read As #FileNum

          fl = FileLen(bfilename)
          ReDim binbyte(fl)

          Get #FileNum, , binbyte

          Close #FileNum

          readBinFile = binbyte
          Exit Function

      errHandler:
          Exit Function
      End Function

-

derudover var der ingen evalutions demo på W3 utils, så jeg kan ikke vide om den kan klare problemet - hvis jeg kunne checke den vil jeg selvfølgelig købe den, men nej - lige præcis den af alle deres komponenter findes ikke i demo udgave :(

men mit første script har højest prioritet - hvis det ikke kan komme til at fungere vil jeg selvfølgelig benytte en komponent, som kan ;)

- mvh
Brock
Avatar billede brock Nybegynder
07. maj 2001 - 12:48 #10
Jeg er villig til at sætte flere point på højkant for løsningen på mit første script... den benytter en .dll (active X) som ser sådan her ud i \"råkilde\"

  Function readBinFile(ByVal bfilename As String) As Variant
          Dim fl As Long
          Dim FileNum As Long
          Dim binbyte() As Byte
          Dim binfilestr As String

          On Error GoTo errHandler
         
          FileNum = FreeFile
          Open bfilename For Binary Access Read As #FileNum

          fl = FileLen(bfilename)
          ReDim binbyte(fl)

          Get #FileNum, , binbyte

          Close #FileNum

          readBinFile = binbyte
          Exit Function

      errHandler:
          Exit Function
      End Function

-

derudover var der ingen evalutions demo på W3 utils, så jeg kan ikke vide om den kan klare problemet - hvis jeg kunne checke den vil jeg selvfølgelig købe den, men nej - lige præcis den af alle deres komponenter findes ikke i demo udgave :(

men mit første script har højest prioritet - hvis det ikke kan komme til at fungere vil jeg selvfølgelig benytte en komponent, som kan ;)

- mvh
Brock
Avatar billede brock Nybegynder
07. maj 2001 - 14:44 #11
tadugaard - har du nogen erfaringer med W3 utils??
Avatar billede brock Nybegynder
09. maj 2001 - 14:54 #12
lukker
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