![]() |
Download - Files von Internetseite
Hallo
Ich habe einen Button auf meiner Webpage, wie ist es möglich so etwas wie von einem Link "Speicher unter" anzustoßen. Brauche ich unbedingt ein Frame wie ![]() oder geht das auch einfacher oder noch ganz anders Frohe Ostern |
AW: Download mit javascript jquery
Zitat:
Das ist etwas konfus, könntest Du das bitte etwas näher erläutern? Gruß K-H |
AW: Download mit javascript jquery
Habe ich dich damit richtig verstanden:
Du hast auf deiner Webseite einen Download-Link (als Button, aber das ist ja egal). Und wenn der User drauf klickt, soll sich die entsprechende Seite nicht öffnen (wie zB ein PDF oder eine Textdatei), sondern zum Download angeboten werden? Falls das richtig ist: Sowas macht man nicht mit JavaScript. Das ist ein Fall für ordentliche Serverkonfiguration. Es gibt einen HTTP-Header, den man für diese Seite mitsendet, damit sie zum Download angeboten wird, statt sie zu öffnen. (Content-Disposition, IIRC) Falls du das einfach mit JavaScript statt mit einem Link starten willst: einfach einen "JavaScript Redirect" zur Download-Seite machen. (window.location) |
AW: Download mit javascript jquery
Zitat:
Beispiel:
Code:
<FilesMatch "\.(?i:pdf)$">
ForceType application/octet-stream Header set Content-Disposition attachment </FilesMatch> |
AW: Download mit javascript jquery
Das ist ja alles schön und gut verstehen
tue ich aber nur Bahnhof.
Code:
HTML ist das wohl nicht. Ich habe davon keinen Plan.
<FilesMatch "\.(?i:pdf)$">
ForceType application/octet-stream Header set Content-Disposition attachment </FilesMatch> Kann mir jemand erklären was der Code aussagt oder wo man eine Beschreibung dafür bekommt. Das hat mir mein Provider geantwortet. Zitat:
|
AW: Download mit javascript jquery
Hallo,
mit dem folgenden HTML Code kann man einen Download Button auf einer Webseite realisieren, der den Download einer Datei (im Beispiel 'deinedatei.exe') startet. Damit es funktioniert muss die Datei im gleichen Verzeichnis auf dem Webserver wie das HTML Dokument liegen. Andernfalls kann man noch Pfadangaben verwenden (relativ oder absolute Dokumentpfade auf dem Webserver, z.B. '/download/meinedatei.exe') * ohne JavaScript:
Code:
* mit JavaScript (siehe
<form action="deinedatei.exe">
<input type="submit" value="Download"/> </form> ![]()
Code:
<button type="button" name="Download" onClick="window.open('deinedatei.exe')">Download</button>
|
AW: Download mit javascript jquery
Danke mjustin
nur da wird dann die Datei geöffnet. Ich möchte aber das ein "Speichern unter" Dialog geöffnet wird. |
AW: Download mit javascript jquery
Zitat:
|
AW: Download mit javascript jquery
Zitat:
|
AW: Download mit javascript jquery
Hallo
es ist doch egal was für eine Datei .Exe .mp3 .bla es soll ein Dialog Fenster aufgehen mit speichern unter und nicht die Datei geöffnet werden. Bei einem HLML Link ist das kein Problem, wenn ich damit eine Datei verlinke, nur das ist um es nett zu sagen primitiv und unprofessionell und es funktioniert nur mit rechter Maustaste................ Habe mich deswegen bei ![]() mir geantwortet Google doch da gibt es so viele Möglichkeiten. Deswegen noch mal einen Dank an alle in diesem Forum, eure Antworten sind in der Regel wirklich hilfreich und von hoher Qualität. ZenForAll Martin Michael |
AW: Download mit javascript jquery
da sind zwei verschiedene Dinge zu berücksichtigen
1. Das Speichern von Dateien und nicht das automatische Öffnen um dies zu realisieren, muss auf dem Server eine .htaccess Datei erstellt werden mit etwa folgendem Ihhalt
Code:
in diesem Beispiel werden Links auf Bilder (*.jpg, *.jpeg, *.png, *.gif) nicht im Browser geöffnet sondern zum Download angeboten
AddType application/octet-stream .jpg .jpeg .png .gif
Header set Content-disposition "attachment;" 2. Die Dialogbox "speichern unter" anzeigen Hier ist mir keine Lösung bekannt die für alle Browser funktioniert, ich denke, das ist wirklich dem User überlassen, wie und wo er seine Daten speichern will, indem er dies in seinem Browser konfiguriert |
AW: Download mit javascript jquery
Du kannst das mit der Datei namens ".htaccess" auch weglassen und stattdessen einen Downloader mit PHP erstellen.
![]() Dieser Weg wird von fast jedem Download-Anbieter verwendet. Mit dieser Variante geht dir so eine meist verstecke .htaccess-Datei nicht verloren und du bist flexibler, falls du mal einen Download-Counter mit einbauen möchtest. Bei manchen Providern funktioniert .htaccess leider sowieso nicht wie gewünscht. Außerdem kannst du deine Downloads besser "verstecken" oder schützen, da nur die PHP-Datei wissen muss wo sich der Download tatsächlich befindet. Übrigens: Nimm bitte nicht die JavaScript-Variante aus Beitrag #6. Das ist wirklich reinste Schikane für die, die kein JavaScript aktiviert haben. Vorteile bringt es überhaupt keine. Liebe Grüße, Valentin |
AW: Download mit javascript jquery
Wow
Danke, das habe ich mir einfacher vorgestellt. Ich dachte das geht mit JQuery oder simple JavaScript :pale: |
AW: Download mit javascript jquery
Valle
hört sich gut an, aber ich möchte mich nicht noch mit Pearl beschäftigen. Da merkt man wie sehr ich unser Delhi liebe. Da kann am alles....... IM ![]() ![]() HTML 5 hat nicht jeder Browser aber so what, es ist aber etwas wo man aufbauen kann. |
AW: Download mit javascript jquery
Zitat:
Wenn du kein PHP kannst, erstellst du einfach eine Datei namens ".htaccess", kopierst das Zeug mit dem content-disposition-Header da rein und lädst die Datei in den Ordner, wo auch die Downloads auf deinem Server liegen. Also am besten ein extra-Downloads-Ordner. Alle Dateien die nun in diesem Ordner aufgerufen werden, werden automatisch zum Download angebot statt sie zu öffnen. Zitat:
Zitat:
Was du dort siehst, hat mit der Frage wie ich sie verstanden habe, aber überhaupt nichts zutun?! Liebe Grüße, Valentin |
AW: Download mit javascript jquery
Danke Valle dachte ich mir schon, habe das von
![]() als Antwort bekommen. Neuer Ansatz neues Glück.
Code:
<!DOCTYPE html>
<html> <head> <script> function loadXMLDoc() { //1 var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari //*x xmlhttp=new XMLHttpRequest(); } //*x else {// code for IE6, IE5 //*y xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //*y xmlhttp.onreadystatechange=function() { //2 if(xmlhttp.readyState==4){ //3 switch (xmlhttp.status){ //4 case 200: { var S = xmlhttp.responseText; document.getElementById("myDiv").innerHTML= S; if (S == "") { document.getElementById("myDiv").innerHTML = "MMMhh"}; break; }; case 404: document.getElementById("myDiv").innerHTML="Download not available !"; break; //(HTTP-Status-Code ist '404') case 0: document.getElementById("myDiv").innerHTML="Server does not response !"; break; //(HTTP-Status-Code ist '0') default: log_error("Unknown Error !"); break; //(HTTP-Status-Code ist nicht '200') } // 4 } // 3 }; // 2 xmlhttp.open("GET","download.php",true); xmlhttp.send(); }; // 1 </script> </head> <body> <h2>AJAX</h2> <button type="button" onclick="loadXMLDoc()">Request data</button> <p>Click the button several times to see if the time changes, or if the file is cached.</p> <div id="myDiv"></div> </body> </html> Zitat:
Bekomme sogar xmlhttp.status 200 nur übertragen wird nix. Hat noch einer eine Idee ? |
AW: Download mit javascript jquery
Das Problem liegt hier im php script
if(file_exists ($dir.$_GET['file'])) ich habe ein test.txt im ordner download angelegt und file_exists gibt false aus. |
AW: Download mit javascript jquery
Hallo,
der PHP-Skript sieht brauchtbar aus. Aber mir ist erneut nicht klar, was dieses JavaScript da oben für einen Vorteil bringen soll. Lass es weg und verlinke einfach direkt auf diese download.php. Was das file_exists Problem angeht: du musst in $dir den absoluten Pfad zu diesem Verzeichnis auf dem Server schreiben. Sowas wie "/srv/www/htdocs/download" oder so. Wenn du einen Fehler von PHP bekommst siehst du den Pfad meistens. Der hängt auch stark von deinem Anbieter ab. Im Zweifel einfach mal eine Funktion in PHP aufrufen, die nicht existiert. In der dann erscheinden Fehlermeldung siehst du den Pfad. Noch 'ne Frage: warum erstellst du nicht einfach eine Datei, nennst sie .htaccess, schreibst Header set Content-disposition "attachment;" rein und lädst sie in den Downloads-Order? :gruebel: Liebe Grüße, Valentin |
AW: Download mit javascript jquery
Oh Man was für eine schwere Geburt
Hatte am Anfang vor download ein slash "/" zu viel. (Obwohl die PHPler exta sagten , das muss dahin) Werde auf meinem Webauftritt, Download von Dateien mal verarbeiten. Das gut daran habe nun mini rudimentäre Ahnung von php. Danke an alle in diesem tollen Forum. Zitat:
|
AW: Download File Webpage (Homepage)
Valle danke
Ich habe keine Ahnung was ich da machte !!!!!!!! Nun weiß ich etwas mehr. Wenn Wissen selbstverständlich wird, dann versteht man die Anfänger nicht mehr. Den JS brauche ich für irgendwann später um eine große Datei zu splitten. |
AW: Download Datein im eigenen Webspace
Ich möchte in wenigen Worten beschreiben.
Wie ich zum Ziel kam. 1.) Meine Naivität dies alleine mit HTML und JavaScript lösen zu können. 2.) Bei meinem Provider gab es die Möglichkeit PHP Messages freizuschalten, was ich viel zu spät durch Zufall bemerkte. 3.) Mit PHP einer wirklich einfachen Script Sprache kommt man zum Ziel der Basic Script sieht bei mir so aus
Code:
4.) Ein paar Links die für mich sehr sehr Hilfreich waren
<?PHP
$fname = preg_replace("/[^0-9a-z.\-_ ]/i", "", strip_tags(trim($_GET["file"]))); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Cache-Control: private',false); header('Content-Type: application/force-download'); //header("Content-Type: application/octet-stream"); header('Content-Disposition: attachment; filename="anders.pas"' ); header('Content-Transfer-Encoding: binary'); header('Content-Length: '.filesize($fname)); readfile("download/$fname"); exit(); ?> ![]() ![]() ![]() Besonderen Danke an Valentin Ein schönes sonniges Wochenende ZenForAll |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz