Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Response.AddHeader "Content-Type" ger två Content-Type

Postades av 2003-01-22 13:31:28 - Andreas Knutsson, i forum asp - allmänt, Tråden har 3 Kommentarer och lästs av 498 personer

Jag har gjort en asp sida för nedladdning av pdf filer. Sidan fungerar bra förutom att IIS sabbar för vissa browsers genom att svara med två Content Type fält i headern. Ex:
Så här kan svaret se ut om man länkar direkt till en pdf fil:
<code>
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 22 Jan 2003 12:05:25 GMT
Content-Type: application/pdf
Accept-Ranges: bytes
Last-Modified: Wed, 22 Jan 2003 12:04:26 GMT
ETag: "40b5e168ec2c21:8a6"
Content-Length: 1695
</code>

Som ni ser så är det 1 "Content-Type" fält i denna header. Här kommer en header så som min webbserver svarar när jag kört Response.AddHeader "Content-Type", "application/pdf"

<code>
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 22 Jan 2003 12:06:37 GMT
Connection: close
Pragma: no-cache
Content-Type: application/pdf
Content-Length: 1695
Content-Type: text/html
</code>

I detta svar så kommer Content-Type 2 gånger, varav den sista inte borde vara med. Hur gör jag för att få bort denna?

// Andreas



Svara

Sv: Response.AddHeader "Content-Type" ger två Content-Type

Postades av 2003-01-22 14:41:14 - Pelle Johansson

Nu är jag inte riktigt säker men försök att lägga response.header på översta raden i din asp-kod, se sen till att det inte finns en massa html-kod liggandes under. Att två skrivs måste bero på att din IIS default lägger upp den typen på varje sida och för att undvika det, skriv ingen htmlkod på den asp-sidan.

Säg till om det hjälper eller hur du kom förbi problemet. Information som detta är mycket bra att ha i forumet om andra får problem.


Svara

Sv: Response.AddHeader

Postades av 2003-01-31 16:19:40 - Andreas Knutsson

Hej!

Jag har försökt fixa detta men lyckas tyvärr inte. Här kommer en listning på en lite avskalad variant av min sida.

<code>
<%
Option Explicit

Const ForReading = 1
Const TristateTrue = -1 'Unicode
Const FILE_TRANSFER_SIZE = 16384 '16k

Response.Buffer = True

dim sucess, filename, path, mimeType, batch_id

filename = "x.pdf"
path = "e:\websajter\"
mimeType = "application/pdf"


sucess = TransferFile(filename, path, mimeType)


Function TransferFile(filename, path, mimeType)
Dim objFileSystem, objFile, objStream
Dim char
Dim sent

TransferFile = True

Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile(Path & filename)
Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue)

Response.AddHeader "Content-Type", mimeType
Response.AddHeader "Content-Length", objFile.Size
Response.AddHeader "Content-Disposition", "attachment;filename=" & filename

Do While Not objStream.AtEndOfStream
char = objStream.Read(1)
Response.BinaryWrite(char)
sent = sent + 1
If (sent MOD FILE_TRANSFER_SIZE) = 0 Then
Response.Flush
If Not Response.IsClientConnected Then
TransferFile = False
Exit Do
End If
End If
Loop

Response.Flush
If Not Response.IsClientConnected Then TransferFile = False

objStream.Close
Set objStream = Nothing
Set objFileSystem = Nothing
End Function

%>
</code>


Bara för att testa så gjorde jag även en väldigt avskalad sida så här:

<code>
<%
Response.AddHeader "Content-Type", "application/pdf"
Response.Write("test")
%>
</code>

Det blir samma problem ändå.

Antagligen så får alla detta fel, men man märker inte av det om man bara använder IE. Däremot i mozilla baserade webbläsare så får man problem eftersom de använder den content-type som kommer sist.

Jag kör på Win2000 Adv Srv. SP3 med alla hotfixar.

För att enkelt kunna se hur headern ser ut så använder jag proxomitron: http://www.proxomitron.org/

// Andreas


Svara

Sv: Response.AddHeader

Postades av 2003-01-31 16:33:40 - Andreas Knutsson

Typiskt, man kommer alltid på svaret när man precis ställt frågan...

Man använder ju såklart
<code>
Response.ContentType = "application/pdf"
</code>

istället för Addheader

ganska självklart att Addheader lägger till en ny header och inte tar bort den gamla. Man ska inte ta för givet att exempelkod man hittar på nätet är feldri...

// Andreas


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 810
27 960
271 761
785
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies