hilfdirselbst.ch
Facebook Twitter gamper-media
Tömsken
Beiträge: 720
2. Jun 2004, 14:32
Beitrag #1 von 14
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Salut allseits...

Ich möchte, dass sich beim klicken auf einen Button bzw. Link zunächst der System-eigene "Öffnen, Speichern, Abbrechen"-Dialog öffnet. Das klappt mit Mozilla, aber Acrobat kommentiert das Öffnen nach IE 6 Vorarbeit mit "There was an error opening this document. This file cannot be found." Nun meine ich, so ziemlich jeden Trick schon ausprobiert zu haben, weiß aber auch, dass noch mind. einer fehlt. Kennst Du den vielleicht?


---- meine Experimente: ---------

$size = filesize($pdfFilename);
$filename = basename($pdfFilename);

@ob_end_clean();
if ( @ini_get('zlib.output_compression') ) @ini_set( 'zlib.output_compression', 'Off' );
@ini_set( 'session.cache_limiter', '' );

if (SSL) header( "Pragma: " ); else header( "Pragma: public" );
header( "Content-Transfer-Encoding: none" );
header( 'Cache-Control: public' );
header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", false );
header( "Pragma: no-cache" );
header( "Accept-Ranges: bytes" );
header( "Content-Transfer-Encoding: binary" );
header( "Content-Length: $size" );
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Content-Type: application/pdf" );
header( "Content-Disposition: attachment; filename=\"" . $filename . "\";" );
// header( "Content-Disposition: inline; filename=$filename;" );
}

@readfile( $pdfFilename );
exit;
Top
 
X
Wolfgang Reszel  M 
Beiträge: 4170
2. Jun 2004, 15:17
Beitrag #2 von 14
Beitrag ID: #88613
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Hallo,

also ich habe vor einiger Zeit auch geforscht, experimentiert und nachgefragt und ein eindeutiges Ergebnis erhalten: Es geht im IE einfach nicht.

Wolfgang
als Antwort auf: [#88600] Top
 
Tömsken
Beiträge: 720
3. Jun 2004, 01:58
Beitrag #3 von 14
Beitrag ID: #88707
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Hi Wolfgang,

tja, hoffendlich glaubt's der Kunde auch... ;)
Ich hab' noch mit einem Kollegen gesprochen, der so etwas mit ASP auf einem IIS realisiert hat; dort klappt's. Aber warum nur dort - mit LAMP war er auch erfolglos - konnte er mir nicht sagen.

Beste Grüße,
Tom
als Antwort auf: [#88600] Top
 
SabineP  M 
Beiträge: 7586
3. Jun 2004, 09:15
Beitrag #4 von 14
Beitrag ID: #88732
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Halo Tom,

dann schau doch mal nach, wie der Header aussieht den der IIS mitsendet.

http://cgi.gmxhome.de/header.pl

Hier noch ein Link zum Thema:
http://www.akademie.de/...ownload-komfort.html

Gruß Sabine
als Antwort auf: [#88600]
(Dieser Beitrag wurde von SabineP am 3. Jun 2004, 09:28 geändert)
Top
 
oesi50  A  S
Beiträge: 2315
3. Jun 2004, 10:05
Beitrag #5 von 14
Beitrag ID: #88738
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


hi Tom,

verwende mal, AUSSCHLIESSLICH, diese beiden Headerzeilen:

content-disposition: attachment; filename=datei.pdf
Content-Type: application/octet-stream

und zwar in dieser Reihenfolge.

PS:
Content-Disposition ist nach RFC2616 kein gültiger Header für HTTP1.1
Hier hat Microsoft mal wieder ein eigenes Süppchen gekocht.
Dieser Header ist normalerweise nur für Mail vorgesehen.

Zitat:
Content-Disposition Issues

RFC 1806 [35], from which the often implemented Content-Disposition (see section 19.5.1) header in HTTP is derived, has a number of very serious security considerations.
Content-Disposition is not part of the HTTP standard, but since it is widely implemented, we are documenting its use and risks for implementors.
See RFC 2183 [49] (which updates RFC 1806) for details.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#88600]
(Dieser Beitrag wurde von oesi50 am 3. Jun 2004, 10:19 geändert)
Top
 
Tömsken
Beiträge: 720
3. Jun 2004, 14:06
Beitrag #6 von 14
Beitrag ID: #88810
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Danke für Eure Tipps.
Aber... ;)

Auf http://www.dornbracht.de, "Service/ Download/ Programm-Informationen" klappt's. Folgendes wird dort zum Browser geschickt:

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 03 Jun 2004 11:34:55 GMT
PICS-Label: (PICS-1.0 "http://www.rsac.org/ratingsv01.html" l by "info@webtop.de" on "2004.03.11T12:45+0100" exp "2030.03.11T12:00+0100" r (v 0 s 0 n 0 l 0))
X-AspNet-Version: 1.1.4322
Content-Disposition: attachment; filename=Belle-de-Bain-_de_..pdf
Set-Cookie: ASP.NET_SessionId=dmozb23v4osztgupumo2tfu1; path=/
Cache-Control: private
Content-Type: application/octet-stream
Content-Length: 259844

Meine Vorgaben dabei waren:
URL: http://www.dornbracht.de/.../mddload.htm?id=2022
Browser: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)

(Oesi, Du lagst mit Deinem Vorschlag also ziemlich richtig.)

Ich hab' das per Header() "nachgebaut" - aber weiterhin erfolglos.

Tja...
als Antwort auf: [#88600] Top
 
oesi50  A  S
Beiträge: 2315
3. Jun 2004, 14:24
Beitrag #7 von 14
Beitrag ID: #88813
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


ich habe diese Version jetzt mal zum Testen bereitgestell.

http://vsrv.de/...ples/phpdownload.php

Hier erhältst Du eine Datei datei.txt mit dem Quellcode.

Was mir bei Dir noch aufgefallen ist; der Dateiname darf nicht mit "" eingeschlossen sein. Die Codierung erfolgt hier nach RFC2184(MIME).

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#88600]
(Dieser Beitrag wurde von oesi50 am 3. Jun 2004, 14:46 geändert)
Top
 
Tömsken
Beiträge: 720
3. Jun 2004, 14:38
Beitrag #8 von 14
Beitrag ID: #88819
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Danke Dir, Oesi. Der Text-Datei-Download klappt - aber PDFs machen sich weiterhin unbeliebt.
> Der Dateiname darf nicht mit "" eingeschlossen sein.
Auch das habe ich bereits in mehreren Versionen ausprobiert - keine, einfache, doppelte Anführungsstriche, Semikolon danach ja/nein, ... ;)
als Antwort auf: [#88600] Top
 
oesi50  A  S
Beiträge: 2315
3. Jun 2004, 14:55
Beitrag #9 von 14
Beitrag ID: #88824
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


ich hab hier auch noch eine pdf-Version für Dich:

http://vsrv.de/...ples/pdfdownload.php

Code
<?php 
header('content-disposition: attachment; filename=abbildungsvorschrift.pdf');
header('Content-Type: application/octet-stream');
@readfile('./abbildungsvorschrift.pdf');
?>


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)

Edit 15:07 der Dateipfad war falsch. Jetzt gehts.
als Antwort auf: [#88600]
(Dieser Beitrag wurde von oesi50 am 3. Jun 2004, 15:08 geändert)
Top
 
SabineP  M 
Beiträge: 7586
3. Jun 2004, 15:12
Beitrag #10 von 14
Beitrag ID: #88831
Bewertung:
(3989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Hi Tom,

habe mal die URL
http://www.dornbracht.de/.../mddload.htm?id=2022

im IE4 getestet (einen anderen IE hab ich gerade nicht zur Hand).

Fehlermeldung: Objektbehandlungsroutine fehlt. Es steht kein Viewer für diesen Objekttyp zur Verfügung.
Möchten Sie vom angegebenen Ort aus einen Viewer für dieses Objekt downloaden?

Bei Oesis Link kommt die gleiche Fehlermeldung.

Das PDF-Plugin ist natürlich installiert. Es klappt also auch nicht in allen IE-Browsern.

Gruß Sabine
als Antwort auf: [#88600]
(Dieser Beitrag wurde von SabineP am 3. Jun 2004, 15:17 geändert)
Top
 
Tömsken
Beiträge: 720
3. Jun 2004, 15:22
Beitrag #11 von 14
Beitrag ID: #88835
Bewertung:
(3988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Sehr interessant...
Klappt!

Also mag Acrobat etwas an meinem "Umfeld" nicht. Nur was?
Ich hab' testweise z. B. auch schon mal das Session-Management deaktiviert, um sicherer zu sein, dass nix in den Header geschrieben wird. Aber würde dann das "Speichern" funktionieren?
Ich weiß nicht wirklich, wo ich suchen soll...

als Antwort auf: [#88600] Top
 
Tömsken
Beiträge: 720
3. Jun 2004, 17:12
Beitrag #12 von 14
Beitrag ID: #88871
Bewertung:
(3988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


@Sabine

Diese Aussage hab' ich auch von dem Entwickler bekommen. Der erzählte von leicht unterschiedlichen Headern für IE 5.5 und IE 6; IE 4 wird von ihm nicht mehr unterstützt.
als Antwort auf: [#88600] Top
 
Wolfgang Reszel  M 
Beiträge: 4170
13. Jun 2004, 15:40
Beitrag #13 von 14
Beitrag ID: #90656
Bewertung:
(3988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Hi,

ich glaub's nicht, klappt tatsächlich. Man lernt eben nie aus.

Wolfgang
als Antwort auf: [#88600] Top
 
Anonym
Beiträge: 22827
30. Jun 2004, 23:39
Beitrag #14 von 14
Beitrag ID: #94297
Bewertung:
(3988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

IE und PDF-Download-Dialog


Mit folgendem Code könnt ihr ein pdf im ie, mozilla....
direkt mit dem plugin öffnen. Falls keines installiert ist wird ein Download ausgelöst. Falls ihr nur downloaden wollt, ersetzt inline durch attachment:

die $ Variablen ergeben sich aus dem Kontext, sonst mailt:
anstetts@studi.informatik.uni-stuttgart.de

header('Pragma: public');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-check=0');
header('Content-Transfer-Encoding: none');
header("Content-Disposition: inline; filename=$content");
header('Content-Type: application/pdf ');
readfile($filename);
als Antwort auf: [#88600] Top
 
X