[IE] word document downloaden/openen ipv embedded weergeven

Pagina: 1
Acties:

  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 22:07
Is het mogelijk om in de html (een tag in de <a href-tag) te zeggen dat IE een bestand moet openen/opslaan (dus downloaden eigenlijk) ipv het embedded weer te geven in de browser?

Het is voor een uploadsysteem waarbij er word-documenten moeten ingevult worden, en waar het lege invuldocument moet gedownload worden, in FF werkt het goed, maar als het in IE wordt gedownload, dan opent dat niet in word zelf, maar in de browser.

Ik dacht even dat het mogelijk zou zijn om door middel van de mime-informatie het als application/octet-stream door te sturen, maar dat vind ik een heel lelijke manier, omdat het ook firefox in de war brengt (wat logisch is, aangezien het een workaround is). Is er dus geen andere manier?

  • Little Penguin
  • Registratie: September 2000
  • Laatst online: 08-06-2025
Je zou kunnen proberen om het MIME type application/octet-stream te gebruiken ipv application/msword. Je hebt een kleine kans dat msie dan het document wel download ipv opent.

Edit: Niet goed gelezen :(

Je zou natuurlijk ook application/octet-stream naar IE kunnen sturen en application/msword naar alle andere browsers. Een andere oplossing dan deze kan ik ook niet verzinnen omdat IE afaik target="_blank" niet interpreteerd als openen in een andere applicatie maar alleen in een nieuw venster....

[ Voor 49% gewijzigd door Little Penguin op 02-08-2005 18:45 ]


  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 22:07
Little Penguin schreef op dinsdag 02 augustus 2005 @ 18:37:
Je zou kunnen proberen om het MIME type application/octet-stream te gebruiken ipv application/msword. Je hebt een kleine kans dat msie dan het document wel download ipv opent.
Dat wou ik juist niet, maar dan nog, het werkt ook niet, dus het maakt niet veel uit...

Andere ideeën? Het moet dus via de html source te doen zijn, en niet via instellingen zoals hier (http://support.microsoft....spx?scid=kb;EN-US;q162059).

target="_blank" enzo werkt ook niet...

Bah, het zal wel weer niet mogelijk zijn zeker

wat haat ik IE :'(

Verwijderd

in html gaat het niet voor zover ik weet, dan moet je met een server side tussenoplossing aan de slag
Header("Content-Disposition: attachment;filename=test.doc");

[ Voor 12% gewijzigd door Verwijderd op 02-08-2005 18:47 ]


  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 22:07
Verwijderd schreef op dinsdag 02 augustus 2005 @ 18:47:
in html gaat het niet voor zover ik weet, dan moet je met een server side tussenoplossing aan de slag
Header("Content-Disposition: attachment;filename=test.doc");
PHP is opzich geen probleem, de server ondersteund dat. Maar moet ik dan niet gaan knoeien met andere headers?

  • Little Penguin
  • Registratie: September 2000
  • Laatst online: 08-06-2025
Mayco schreef op dinsdag 02 augustus 2005 @ 18:49:
[...]

PHP is opzich geen probleem, de server ondersteund dat. Maar moet ik dan niet gaan knoeien met andere headers?
Headers worden in PHP toegevoegd, dus je hoeft alleen maar deze header aan te passen. Als je het echter via PHP oplost moet je wel zelf zorgen voor het versturen van het Word-document dmv de daarvoor ge-eigende PHP functies.

  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 22:07
Mjah, als ik het via die header doe, heb ik geen andere keuze dan het met php te doen toch... anders krijg ik een leeg document.

Nu lijkt me een dl.php dus een goede oplossing, ik heb nu dus dit:

PHP:
1
2
3
4
header("Content-Type: application/msword");
header('Content-Length: ' . filesize($_GET["file"]));
header("Content-Disposition: attachment; filename=".$_GET["file"]);
readfile($_GET["file"]);

ja, $_GET["file"] ga ik nog checken op stoute data, moet ik gewoon nog een functie voor zoeken

Nu heb ik enkel nog het probleem dat firefox een bestand met spaties, enkel weergeeft als het eerste deel van de filename, dus als het origineel is "bestand met woorden.doc", geeft firefox als download weer: "bestand". Dit zie ik ook niet zo graag... Moet die header speciaal afgesloten worden?

Ik heb geprobeerd:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
Header("Content-Disposition: attachment; filename=bestand met woorden.doc");
// geeft "bestand"

Header("Content-Disposition: attachment; filename=bestand%20met%20woorden.doc");
// geeft ipv spaties, %20's, wat ook niet de bedoeling is

Header("Content-Disposition: attachment; filename='bestand met woorden.doc'");
// geeft "'bestand"

// edit: dit heb ik ook geprobeerd
Header("Content-Disposition: attachment; filename=bestand met woorden.doc;");
// geeft "bestand"


edit, ah, het zijn dus "-quotes ipv '-quotes...

Nu werkt het redelijk, buiten het feit dat IE er [1].doc achtervoegd, en firefox -1.doc :'(

[ Voor 28% gewijzigd door Mayco op 02-08-2005 19:17 ]

Pagina: 1