Ich generiere normale Links wie: <a href="https://stackoverflow.com/path/to/image"><img src="/path/to/image" /></a>
in einer Web-App.
Wenn ich auf den Link klicke, wird das Bild auf einer neuen Seite angezeigt. Wenn Sie das Bild speichern möchten, müssen Sie mit der rechten Maustaste darauf klicken und "Speichern unter" auswählen.
Ich möchte dieses Verhalten nicht, ich möchte, dass eine Download-Box herausspringt, wenn ich auf den Link klicke. Ist das nur mit HTML oder Javascript möglich? Wie?
Wenn nicht, müsste ich wohl ein download.php-Skript schreiben und es in die href mit dem Dateinamen als Parameter aufrufen ...?
Antworten:
Es wird noch nicht vollständig unterstützt http://caniuse.com/#feat=download , aber Sie können es mit modernizr https://modernizr.com/download/?adownload-setclasses ( unter Nicht-Kern-Erkennungen ) verwenden, um die Unterstützung von zu überprüfen der Browser.
quelle
download
Attributattribut funktioniert nur für URLs gleichen Ursprungs . MDN DocsDer einfachste Weg, einen Download-Link für Bild oder HTML zu erstellen, ist das Festlegen des Download-Attributs . Diese Lösung funktioniert jedoch nur in modernen Browsern.
"myimage" ist ein Name der herunterzuladenden Datei. Erweiterung wird automatisch hinzugefügt Beispiel hier
quelle
download.php:
quelle
<a href="download.php?file=../dbparams.inc>">Download</a>
zum Beispiel. Weitere Infos hier: en.wikipedia.org/wiki/Directory_traversal_attackNein, ist es nicht. Sie benötigen etwas auf dem Server, um einen Content-Disposition-Header zu senden und die Datei als Anhang festzulegen, anstatt inline zu sein. Sie können dies jedoch mit einer einfachen Apache-Konfiguration tun.
Ich habe ein Beispiel dafür gefunden, wie man es mit mod_rewrite macht , obwohl ich weiß, dass es einen einfacheren Weg gibt.
quelle
Wenn Sie HTML5 verwenden, können Sie Ihren Links das Attribut 'Download' hinzufügen.
http://www.w3schools.com/tags/att_a_download.asp
quelle
Versuche dies...
quelle
HTML-Download-Attribut, um anzugeben, dass das Ziel heruntergeladen wird, wenn ein Benutzer auf den Hyperlink klickt.
Dieses Attribut wird nur verwendet, wenn das href-Attribut festgelegt ist.
Der Wert des Attributs ist der Name der heruntergeladenen Datei. Es gibt keine Einschränkungen für zulässige Werte, und der Browser erkennt automatisch die richtige Dateierweiterung und fügt sie der Datei hinzu (.img, .pdf, .txt, .html usw.).
Beispielcode:
HTML5:
Ausgabe :
Bild herunterladen >>
HTML5 herunterladen oder Chrome
Bild herunterladen >>
quelle
Sie können es nicht mit reinem HTML / Javascript tun. Dies liegt daran, dass Sie eine separate Verbindung zum Webserver haben, um eine separate Datei (das Bild) abzurufen, und ein normaler Webserver die Datei mit festgelegten Inhaltsheadern bereitstellt, sodass der Browser, der den Inhaltstyp liest, entscheidet, dass der Typ intern verarbeitet werden kann.
Die Möglichkeit, den Browser zu zwingen, die Datei nicht intern zu verarbeiten, besteht darin, die Header (vorzugsweise Inhaltsdisposition oder Inhaltstyp) zu ändern, damit der Browser nicht versucht, die Datei intern zu behandeln. Sie können dies entweder tun, indem Sie ein Skript auf den Webserver schreiben, das die Header dynamisch setzt (z. B. download.php), oder indem Sie den Webserver so konfigurieren, dass verschiedene Header für die Datei zurückgegeben werden, die Sie herunterladen möchten. Sie können dies auf Verzeichnisbasis auf dem Webserver tun, sodass Sie ohne PHP oder Javascript davonkommen können - haben Sie einfach alle Ihre Download-Bilder an diesem einen Ort.
quelle
Einfacher Code zum Herunterladen von Bildern mit einem Bild, das mit PHP klickt
quelle
Bild herunterladen mit Bildklick!
Ich habe diesen einfachen Code gemacht! :)
quelle