Download-Button


  • tarkus
  • 1210 Aufrufe 5 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Closed] Download-Button

    Hallo,

    Ich habe folgendes Problem mit meiner Internetseite:

    Ich will mp3's zum download anbieten (meine eigenen, selbst aufgenommenen).
    Jetzt soll der Nutzer einfach auf einen Button klicken der so aussehen soll:
    <Button onclick="???"><img src=bild.gif> Download</Button>
    Jetzt soll der Browser aber nicht die Datei abspielen, sondern direkt zum
    Download "auffordern".

    Ich hab es schon mit execCommand und window.location probiert, aber das
    funktioniert damit nicht. Und das mit dem rechtsklicken und Speichern Unter
    ist zu umständlich für den User.
    Kann man nicht irgendwo einen Parameter so ändern, dass man bekannte
    Dateien wie mp3 oder avi oder pdf direkt zum runterladen anklicken kann?

    Ich wäre euch sehr dankbar wenn ichr mir helfen könntet.

    Gruß tarkus
  • sowas?

    <input type="button" value="Download: Zip-Datei" onclick="location.href='Dateiname.zip'">
    <input type="button" value="Play Midi" onclick="location.href='Dateiname.mid'">
    <input type="button" value="Play Video" onclick="location.href='Dateiname.avi'">
  • Nicht soviel aufwand ??? :eek:

    Bei mehr als 1 GB (ca 200 Titel) und dann der Aufwand bei dem downloaden...

    Aber ich hab' da doch noch was gefunden, falls es noch jemanden interessiert:

    Hier erstmal der Button:

    Quellcode

    1. <button onclick=document.location="Skript.php?Datei=Datei.mp3">Download</button>



    und dann wird dieses Skript (Skript.php) aufgerufen:

    PHP-Quellcode

    1. <?php
    2. $dateiname = $_GET['Datei'];
    3. $dateiendung = strrchr($dateiname, ".");
    4. $dateiendung = substr($dateiendung,1);
    5. header("Cache-Control: ");
    6. header("Pragma: ");
    7. header("Content-Type: application/$dateiendung");
    8. header("Content-Disposition: attachment; filename=".basename($dateiname)."");
    9. header("Content-Length: ".filesize($dateiname));
    10. readfile($dateiname);
    11. ?>
    Alles anzeigen


    ^ dies ist wirklich die ganze Skript.php - Datei

    Jetzt wird bei dem Klick auf den <button> direkt ein Dialog zum speichern, öffnen oder abbrechen angezeigt.

    Achtung: nach dem readfile(...);?> darf nichts weiter stehen (weder Leerzeichen noch tabs oder zeilenumbrüche), die werden sonst mit in die Downloaddatei geschrieben!!!