Wie kann ich die Kraft download mit HTML/JavaScript?
Ich habe einen link und wenn ein Benutzer darauf klickt, ich brauche 2 Dinge passieren:
- Eine korrekte HTTP-Antwort an den Benutzer gesendet wird (vor allem mit
Content-Type: video/mp4
) - und eine video-Datei automatisch mit dem Download beginnen.
Ich habe gesehen, so etwas in der Art mit PHP, aber ist es möglich nur mit HTML/JavaScript?
InformationsquelleAutor Alex1987 | 2010-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Automatisch wird, hängt also sehr stark auf den browser und dessen Optionen. Aber können Sie dem browser mitteilen, was Sie wollen haben passieren (was es wird, dann überprüfen Sie mit dem Nutzer), die über die
Content-Disposition
- header in der Antwort. Zum Beispiel, wenn er aufattachment;filename=blah.mp4
wird, auf die meisten Browser, das laden der Benutzer herunterladen, um es (mit Dateiname), auch wenn normalerweise der browser würde versucht haben, die Anzeige/Wiedergabe des Inhalts in eigenen Schnittstelle. Siehe den link für weitere details. (Download ist wohl der Standard für mp4-Dateien, aber die Benutzer; ich finde dies hilfreich, wenn das Angebot download-links für HTML-Dateien.)Können Sie den header über die Konfiguration in Ihrem web-server, wenn Sie nicht mit server-side-scripting (wie du gesagt hast bist du nicht). Zum Beispiel mit Apache, die Sie verwenden würden in der Regel-matching-die URL für diese video-Dateien und verwenden Sie die
Header
- Direktive.Content-Disposition
nachdem, die ich mir geschrieben über es.)Und diese Antwort war nicht da, als ich mit der Bearbeitung begonnen 🙂
Ich sollte klar gewesen sein, dass ich nicht kritisieren. Es ist völlig akzeptabel, zu verbessern beantworten. Nur der Feststellung, daß nicht doppelte Antwort Faschisten kommen nach mir. 🙂
InformationsquelleAutor T.J. Crowder
können Sie das download-Attribut
oder geben Sie einen Dateinamen mit
mehr sehen: https://developer.mozilla.org/en/HTML/element/a#attr-download
funktioniert das andere als chrome und firefox?
Funktioniert nicht im IE.
In meiner bescheidenen Unwissenheit... Jahre später... danke, vielen vielen Dank dafür 🙂 Und du, Besucher ab 2020, bitte upvote diese Antwort und der dude, der die Frage gestellt hat!
dies sollte ausgewählt werden, funktioniert einwandfrei
InformationsquelleAutor Bruce Aldridge
Nein, das ist nicht möglich (zumindest für die Werte von JavaScript beschränkt auf client-side JavaScript).
Wenn Sie möchten, um das Standardverhalten zu überschreiben, wie ein browser verarbeitet eine HTTP-Ressource, die Sie brauchen, um es mit den HTTP-Headern. Wenn Sie wollen, es zu tun korrekt, verwenden der content-disposition-header (mit einem Anhang Wert).
Können Sie diese header mit server-side JavaScript oder (so ziemlich) alle anderen server-side-Umgebung.
InformationsquelleAutor Quentin