functioniert nicht: html download attribute

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
frogli
Beiträge: 70
Registriert: Do 29. Apr 2004, 17:42
Kontaktdaten:

functioniert nicht: html download attribute

Beitrag von frogli » Di 20. Okt 2015, 10:37

Hallo,

ich würde gerne den neuen HTML5 "download" Attribut verwenden. Auf andere Beispiel-Webseiten funktioniert es einwandfrei. Also ist es nicht ein Browser-Problem.

Sowohl

Code: Alles auswählen

<a href="bla/bla/image.jpg" download>Speichern</a>
als auch

Code: Alles auswählen

<a href="bla/bla/image.jpg" download="true">Speichern</a>
funktionieren nicht.

Ich habe schon im Internetz recherchiert und da wird darauf hingewiesen, dass Content-Disposition hier die Funktion aushebeln kann. Vielleicht macht hier Contenido mir ein Strich durch die Rechnung.

frogli
Zuletzt geändert von frogli am Di 20. Okt 2015, 15:34, insgesamt 2-mal geändert.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von Faar » Di 20. Okt 2015, 12:22

Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

frogli
Beiträge: 70
Registriert: Do 29. Apr 2004, 17:42
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von frogli » Di 20. Okt 2015, 15:38

Faar hat geschrieben:Vielleicht hilft das?
http://www.w3schools.com/tags/att_a_download.asp
Nein (Siehe 1. Posting). Diese Beispiele funktionieren eben (bei mir) in Contenido nciht.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von Faar » Di 20. Okt 2015, 19:27

Stimmt denn dein Document als HTML5 ?
https://validator.w3.org/
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

frogli
Beiträge: 70
Registriert: Do 29. Apr 2004, 17:42
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von frogli » Mi 21. Okt 2015, 18:44

Faar hat geschrieben:Stimmt denn dein Document als HTML5 ?
Also ich habe deinen Link versucht. Ein eindeutiges Ergebnis á la "HTML5 Valid" bekomme ich nicht.

Ich hätte mich schon von Anfang bemüht HTML5-Compliant zu sein. Und meine andere HTML5-Tags werden ja auch erkannt. Irgendwie kommt mir das Problem komplett banal vor, aber ich komme jetzt schon nach 2 Tage herumprobieren nciht dahinter was ich falsch mache.

hier der link
http://freigeist.bocom.at/freigeist/pre ... index.html
nachdem man ein Bild anclickt öffnet sich ein Lightbox und mir geht es vor allem um den link "Bild in Druckqualität". Danke.

frogli

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von Faar » Mi 21. Okt 2015, 19:23

Das wird am Javascript liegen.
Damit wird ja auch ein Dokument über die bestehende Seite gelegt und vermutlich geht hier der Kontext zur Doctype des ursprünglichen Dokumentes verloren.
Bei mir öffnet der Link nur ein neues Tab.
Ich wage mal, anzunehmen, dass dieser Downloadlink funktionieren würde, wenn Du ihn unter das Vorschaubild setzen würdest.
Probier das mal aus und wenn es dann klappt, liegt es am Javascript Aufbau wie vermutet.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Oldperl
Beiträge: 4251
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von Oldperl » Do 22. Okt 2015, 07:17

Hallo frogli,

das Attribut wird hier falsch angewendet, da es sich nicht um einen Boolean-Wert handelt, sondern der Wert des Attributes die Adresse des Links beinhalten soll. Setzt man nur das Attribute ohne Inhalt/Wert, so wird der Wert des href-Attributes genommen.
Siehe :arrow: https://wiki.selfhtml.org/wiki/HTML/Tex ... d-Verweise

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Zuschauer
Beiträge: 141
Registriert: Do 5. Dez 2013, 08:57
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von Zuschauer » Do 22. Okt 2015, 09:18

Oldperl hat geschrieben:sondern der Wert des Attributes die Adresse des Links beinhalten soll. Setzt man nur das Attribute ohne Inhalt/Wert, so wird der Wert des href-Attributes genommen.
Stimmt so nicht, der Wert des Attributs (wenn gesetzt) wird beim Speichern als Dateiname verwendet.
Ist kein Wert gesetzt, wird der Original-Dateiname verwendet.
Im href-Attribut steht der komplette Pfad (absolut oder relativ), nicht nur der Dateiname.

Gruß
Zuschauer

Oldperl
Beiträge: 4251
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von Oldperl » Do 22. Okt 2015, 09:55

Danke für die Korrektur, das war natürlich nicht ganz richtig von mir. Steht aber auch unter dem hinterlegten Link
Bei einem Klick auf das Bild öffnet sich eine Download-Dialogbox. Der untere Link bekommt durch download="alte_doku.zip" einen neuen Dateinamen.
Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

frogli
Beiträge: 70
Registriert: Do 29. Apr 2004, 17:42
Kontaktdaten:

Re: functioniert nicht: html download attribute

Beitrag von frogli » Do 22. Okt 2015, 13:05

Faar hat geschrieben:Das wird am Javascript liegen.
Da glaube ich, dass du hier richtig bist. Leider reichen meine Kenntnisse in JS nicht aus um die Anpassung zu machen. :?
Ich habe es jetzt mit php mit GET gelöst. :twisted:

Hier meine Lösung (für die es bräuchten oder wissen wollen 8) ):
Ich habe einen Artikel (download-datei) mit auschließlich einem Modul mit folgenden Output-Code gemacht.

Code: Alles auswählen

$fileName = $_GET['fileName'];
$folderName = $_GET['folderName'];

$path = "upload/" . $folderName . "/" . $fileName;

function DownloadFile($path) { // $file = include path
	if(file_exists($path)) {
		header('Content-Description: File Transfer');
		header('Content-Type: application/octet-stream');
		header('Content-Disposition: attachment; filename='.basename($path));
		header('Content-Transfer-Encoding: binary');
		header('Expires: 0');
		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
		header('Pragma: public');
		header('Content-Length: ' . filesize($path));
		ob_clean();
		flush();
		readfile($path);
		exit;
	}
}
DownloadFile($path);
Der Link ($link "href=/download-datei/download-datei.html?folderName=" . $folderName. "&fileName=" . $fileName;) verweist jetzt auf diesem Artikel und überträgt zusätzlich Ordner- und Dateiname.

... und jetzt wird die Datei als Download angeboten. :D

Ich hoffe es war halbwegs verständlich.

Danke

frogli

Antworten