Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Ziel Speichern unter Fenster erzwingen

Diskussion: Ziel Speichern unter Fenster erzwingen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, ich habe eine Seite mit einer Liste von Links. Derzeit funktioniert das ganze nach "normalen Regeln", also wenn ...

Antwort
Alt 04.02.06, 22:56   #1 (permalink)
gmw
 
Registriert seit: 06.06.04
gmw Leistung: Facit NTK
gmw eine Nachricht über ICQ schicken
Likes: 0
Standard Ziel Speichern unter Fenster erzwingen

Anzeige

Hallo, ich habe eine Seite mit einer Liste von Links. Derzeit funktioniert das ganze nach "normalen Regeln", also wenn ich auf den Link klicke wird die Standardaktion ausgeführt, zB bei zip Dateien kommt das Speichern unter Fenster, mp3s hingegen werden mit dem Quick Time Plugin wiedergegeben.

Jetzt möchte ich dass für alle Dateien das Speichern unter Fenster kommt. Das soll zumindest im IE und Firefox funktionieren.

Mit dem IE könnte ich javascript document.execCommand benutzen, das funktioniert, aber nicht mit Firefox. Ich habe auch noch eine andere Lösung mit ASP-Files (StartDownload.asp) gefunden, aber in meinem Fall ist die nutzlos, da die verlinkten Dateien nicht auf meinem eigenen Server liegen.

Kennt jemand noch andere Möglichkeiten?

mfg gmw

gmw ist offline   Mit Zitat antworten
Alt 05.02.06, 00:34   #2 (permalink)
Senior Member
 
Benutzerbild von Arschengel
 
Registriert seit: 12.09.04
Arschengel Leistung: Facit NTK
Arschengel eine Nachricht über ICQ schicken
Likes: 4
Standard

kann man bei firefox nicht einstellen, mit welchen Programm er die dateien öffnen soll?
Bei opera habe ich für manche sachen einfach kein programm gewählt, und er gibt mir immer das Speichern ding^^

hab ff leider nicht drauf, daher kann ich dir das nicht genau sagen.
Arschengel ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 05.02.06, 01:37   #3 (permalink)
 
Registriert seit: 06.04.05
adrian90 Leistung: Facit NTK
Likes: 0
Standard

och mann, er meint doch, dass man, wenn man bei seiner Seite auf einen Link klickt, dass dann der Speichern unter Dialog kommt.

Nun zu deiner Frage:
Das geht doch trotzdem, wenn du eine ASP-Datei machst.
adrian90 ist offline   Mit Zitat antworten
Alt 05.02.06, 03:07   #4 (permalink)
gmw
Themenstarter
 
Registriert seit: 06.06.04
gmw Leistung: Facit NTK
gmw eine Nachricht über ICQ schicken
Likes: 0
Standard

Mhh nun ja, ich hab jetzt was mit PHP gefunden, das funktioniert auch, das einzige Problem ist dass die Dateien, da diese auf einer Netzwerkfreigabe liegen erst über mich quasi geleitet werden.

Das ganze sieht so aus: Ich habe im Netzwerk einen Apache laufen, auf dem kann man eine Datei erreichen wo alle Netzwerkfreigaben gelistet sind. Wenn man jetzt auf eine dieser Freigaben (ein normaler Link) klickt dann wird bisher die "Standardfunktion" ausgeführt, also bei jedem User was anderes. Ich will jetzt aber eben dass nur ein Ziel Speichern Unter Fenster kommt, und das geht auch mit diesem PHP Script, aber er läd dann die Dateien über mich drüber (das führt zur Halbierung des möglichen Speeds, da ich ja lesen und senden gleichzeitig muss).

Wie kann ich es machen, dass die Datei dann direkt von der richtigen Freigabe gesaugt wird?

Code:
<?
// downloading a file use http://somewhere.com/download.php?file=name of file

$filename = $_GET['file'];
if(!$filename){ echo "ERROR: No filename specified. Please try again."; }
else {

// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache

// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

	
// use the Content-Disposition header to supply a recommended filename and
// force the browser to display the save dialog.
header("Content-Disposition: attachment; filename=".basename($filename).";");
header("Content-Transfer-Encoding: binary");

$root_path = "\\\\192.168.1.65\\";

$myfile = $root_path . $filename;
// $myfile = $filename;

header("Content-Length: ".filesize($myfile));

readfile("$myfile");

exit();
}

?>
gmw ist offline   Mit Zitat antworten
Alt 05.02.06, 10:00   #5 (permalink)
 
Registriert seit: 20.05.05
DolphVS Leistung: Facit NTK
DolphVS eine Nachricht über ICQ schicken
Likes: 0
Standard

Wenn ich das richtig verstehe kanns du das doch unter "Extras - Einstellungen... - Downloads - Downloadaktionen (Funktionen anzeigen und bearbeiten)" ändern oder?

Bei allem was nicht drin ist, kommt der "Speichern unter..." dialog.
DolphVS ist offline   Mit Zitat antworten
Alt 05.02.06, 11:46   #6 (permalink)
 
Registriert seit: 06.04.05
adrian90 Leistung: Facit NTK
Likes: 0
Standard

ich weiss, dass er die frage nicht gut gestellt hat. Aber er will, dass wenn man bei seiner Seite auf einen gewissen Link klickt, der Speichern unter Dialog kommt. Und er will das über HTML oder php oder was auch immer lösen. Und nicht über seine Einstellungen. Das hat ja keine Auswirkungen auf die anderen.
adrian90 ist offline   Mit Zitat antworten
Alt 05.02.06, 18:44   #7 (permalink)
 
Registriert seit: 20.01.03
Zwirni Leistung: Z3
Likes: 0
Standard

Zitat:
Content-Type: application/octet-stream
Darauf kommts an. Das muss von der Zieladresse als erstes gesendet werden. Ich löse das meist über eine .htaccess-Datei in dem Verzeichnis in dem die Dateien zum Download liegen.
Zwirni ist offline   Mit Zitat antworten
Alt 06.02.06, 04:12   #8 (permalink)
gmw
Themenstarter
 
Registriert seit: 06.06.04
gmw Leistung: Facit NTK
gmw eine Nachricht über ICQ schicken
Likes: 0
Standard

Ja das hab ich mir ja auch überlegt und prinzipiell macht diese php Datei das ja auch, aber das Problem ist dass diese Dateien auf einem ANDEREN Server liegen (wo ich keinen Schreibzugriff habe).

Mit dem PHP Script wird die Datei nun eben zuerst über MEINEN Server zwischengespeichert, dann wird der header verändert und dann an den eigentlichen Empfänger weitergeleitet, aber das ist sehr unwirtschaftlich

Gibt es wirklich GAR KEINE Möglichkeit das zu tun, wenn die Files extern sind?



Edit: Jo, eigentlich wollt ich des scho vor 3 Wochen oder so Posten, aber hier ne mögliche Lösung. Funktioniert mit IE, Mozilla, Opera, Firefox, vermutilch auch mit anderen wie Safari. Wenn die Files net auf dem eigenen Server liegen werden sie erst auf diesen Zwischengebuffert (resultiert also in doppeltem Traffic, aber für zB Gebrauch in einem Intranet äußerst brauchbar).

Code:
<?
// downloading a file use http://somewhere.com/download.php?filename=name of file

$filename = $_GET['file'];
if(!$filename){ die("ERROR: No filename specified. Please try again."); }
else {

// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache

// force download dialog

header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
	

// use the Content-Disposition header to supply a recommended filename and
// force the browser to display the save dialog.
header("Content-Disposition: attachment; filename=\"".substr(strrchr(rawurldecode($filename),"/"),1)."\";");
header("Content-Transfer-Encoding: binary");
//die(substr(strrchr(rawurldecode($filename),"/"),1));
//$root_path = "\\\\192.168.1.65\\";

//$myfile = $root_path . $filename;
$myfile = $filename;

header("Content-Length: ".filesize($myfile));
readfile($myfile);

exit();
}

?>
gmw ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Ziel Speichern unter Fenster erzwingen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DOS-Fenster unter XP Darkness Windows 10 12.09.04 20:26
speichern unter... EddyonCMB Windows 3 01.07.04 15:02
IE-Fenster unter w2k zu klein!?! Sir Eddy Windows 5 23.04.03 19:59
Passworteingabe erzwingen unter Win9x Erazer Windows 13 27.05.02 10:00


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61