Toon posts:

[ASP.NET] PDF byte[] stream opened niet in IE wel in mozilla

Pagina: 1
Acties:

Verwijderd

Topicstarter
System: Windows XP SP2
Client : IE6 en Mozilla 1.5

Ik maar gebruik van een webservice die mij een byte[] stream geeft van een pdf document.

C#:
1
2
3
4
5
6
7
8
private void Page_Load(object sender, System.EventArgs e)
{
      byte[] document = documentService.GetDocumentStream(fileName);
      Response.AddHeader("Content-disposition", "attachment; filename=" + fileName);
      Response.ContentType = "application/pdf";
      Response.BinaryWrite(documentStream);
      Response.End();
}


Als ik deze pagina open dan krijg ik netjes een dialogbox die vraag om te openen of te downloaden.
Downloaden gaat prima in zowel IE als Mozilla, maar openen werkt alleen in mozilla.
In IE zegt hij dat hij het document niet kan vinden in C:\....\temp internet file\...... etc.

Heeft iemand een idee of ik voor IE nog iets aan de header moet toevoegen. Ik heb dit op meerdere computers geprobeerd.

  • TlighT
  • Registratie: Mei 2000
  • Laatst online: 22-03 10:40
Ik heb een hele tijd geleden een soortgelijk probleem gehad en toen lag het eraan dat de webserver automatisch een Cache-Control: no-cache meestuurde bij elke pagina, dit omdat de betreffende pagina's in een beveiligd gedeelte van de site zaten.

Je zou het dus eens kunnen proberen met Response.AddHeader("Cache-Control", "public") of Response.AddHeader("Cache-Control", "private").

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 14-04 16:14
Ditzelfde probleem doet zich ook voor in PHP, bij gebruik van sessies. De no-cache-header wordt dan automatisch meeversturud waardoor bestanden niet kunnen worden geopent vanuit de tijdelijke map.

Verwijderd

Topicstarter
Dit klink logisch.

Ik ben helaas niet in de gelegenheid om dit momenteel te testen aangezien in geen beschikking heb over de webservice op dit moment. :)
Ik ga het maandag meteen proberen.

Verwijderd

Topicstarter
Helaas was dit niet het geval. Ik heb beide opties geprobeerd.

Verwijderd

kijk eens naar
http://support.microsoft....scid=kb;EN-US;q293792#kb2

het is dus volgens mij een header probleem... gebruik eens een portlistener ofzo om je HTTP requests (en headers dus) te kunnen analyseren?

probeer eens (servlet code:)
Java:
1
2
3
4
response.reset();
response.setContentType("application/pdf");
response.setHeader("Cache-Control", "max-age=15");
response.setContentLength(pdfByteArray.length);//to satisfie IE...

[ Voor 18% gewijzigd door Verwijderd op 17-01-2006 08:08 . Reden: reset vergeten :) ]

Pagina: 1