Js Bilder anhand URL Downloaden?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du kannst zwar einen Link mit dem download-Attribut dynamisch erzeugen, doch so lange die Webseite selbst nicht über einen Webserver (bzw. eine Domain) ausgespielt wird, wird so eine Aktion direkt geblockt.

Wenn du deine Seite auf deinem eigenen Rechner ausführen möchtest, installiere dir einen Webserver. Das Sofwarepaket XAMPP bietet sich als einfach einrichtbare Option an. Es beinhaltet einen vorkonfigurierten Apache HTTP Server. Nach der Installation brauchst du den Webserver nur über das Control Panel starten und deine Seite in den htdocs-Ordner (der liegt im Installationsverzeichnis von XAMPP) legen. Im Browser sollte der Aufruf via http://localhost/deineseite.html die Seite mit dem Bild anzeigen.

Was zusätzlich noch hineinspielen kann, sind individuell festgelegte Browsereinstellungen, der Browser selbst (der bekannte Dateitypen immer selbst öffnet) oder Plugins, die einen Download blockieren. Über selbst gewählte Einstellungen / Plugins solltest du jedoch selbst am besten Bescheid wissen.

Zuletzt noch ein Kommentar zum download-Attribut: Wenn du einen Wert angibst, entspricht dieser dem Zielnamen für die Datei, die heruntergeladen werden soll. Nicht dem Zielpfad. Slashes oder Backslashes werden automatisch zu Unterstrichen umgewandelt.

Die URL bekommst du per src Attribue abfrage. let linkVomBild = tip.src;

Dann könntest du sowas machen, da gibt es glaube ich mehrere Wege:

<a href="Hier Link Einfügen Mit JS" download></a>

Dann auf das a einen Click Befehl ausführen und danach das a Element einfach wieder entfernen


Deffer 
Fragesteller
 21.09.2022, 17:06

number = 0

let n = document.getElementsByTagName("img");

for(tip of n){

console.log(tip.src)

var link = document.createElement('a');

link.href = tip.src;

link.download = "C:\\Users\\<User>\\Downloads\\Foto\\img new\\" + number +".png";

document.body.appendChild(link);

link.click();

document.body.removeChild(link);

number++

};

Ich werd dann zur url geleitet.

Doch ich mochte das bild auf mein disk downloaden.

0
FaTech  21.09.2022, 17:08
@Deffer

Das Download Attribute bekommt keinen Wert. Sollte man dennoch einen geben wollen, wäre dieser nur "download". Keine URL nichts. Dazu kann eine Website nicht auf ein lokales System zugreifen und somit ist es nicht möglich, den Zielpfad einzustellen

0
Deffer 
Fragesteller
 21.09.2022, 17:25
@FaTech
Gleiches ergebnis
number = 0
let n = document.getElementsByTagName("img");
for(tip of n){
console.log(tip.src)
var link = document.createElement('a');
link.href = tip.src;
link.download = 'Download.png';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
number++
};
Der Download funktioniert nicht

ALso Donwload fenster kommt.
Kann ausuchen wo es gespeichert wird, doch der Download = failed 
number = 0
let n = document.getElementsByTagName("img");
for(tip of n){
console.log(tip.src)
var link = document.createElement('a');
link.href = 'images.jpg';
link.download = 'Download.png';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
number++
};
0
FaTech  21.09.2022, 17:27
@Deffer

Wenn der Download fehlschlägt, ist irgendwo was anderes noch falsch. Debugge deinen Code. Nimmt der überhaupt die gewünschte URL korrekt in a href?

0
Deffer 
Fragesteller
 21.09.2022, 17:32
@FaTech

Die URL gibt es nicht.

Doch wenn ich eine URL benutze die es gibt, werde ich weiter geleitet.

0
FaTech  21.09.2022, 17:33
@Deffer

Dann ist irgendwas falsch eingestellt denke ich Mal ... Sonst Google mal

0
Deffer 
Fragesteller
 21.09.2022, 17:46
@FaTech

Es wird auf den Link geclickt.

Villeicht gucken Sie auf den Code und ergänzen ihn?

0
FaTech  21.09.2022, 17:51
@Deffer

Versuch es selber Mal zu finden, dann kann ich immer noch helfen:)

0
Deffer 
Fragesteller
 21.09.2022, 18:02
@FaTech

Nun deine Hilfe wäre er Mutivieren, doch wirklich das Problem zu erklären und eine lösung zu geben, da ich das Problem anscheinend nicht finde?

0
FaTech  21.09.2022, 18:03
@Deffer

Ich müsste selber das Testen und Recherchieren. Da ich gerade verhindert bin und du das genau so kannst, kannst du es ja tun :)

0
Deffer 
Fragesteller
 21.09.2022, 18:10
@FaTech

Ich komm mir getrollt vor

0
Deffer 
Fragesteller
 21.09.2022, 18:12
@FaTech

Bei einiegen sachen musste man nur auf den Code schauen ums zu verstehen.

Und wenn du verhindert bist wie kannst du helfen.

Helf wenn du kannst;

0
FaTech  21.09.2022, 19:54
@Deffer

link.download = 'Download.png';

Entferne den mal. Das sehe ich jetzt erst. Ich habe gesagt, man füllt download nicht und wenn man es tut, dann nur mit download. Aber Download.png ist nicht download

0
regex9  21.09.2022, 21:02
@FaTech
Ich habe gesagt, man füllt download nicht und wenn man es tut, dann nur mit download.

Das Attribut dient dazu, einen Zielnamen für die Datei anzugeben, die heruntergeladen werden soll. Deine Vorgabe, der Wert dürfte nur download lauten, ist falsch.

0
FaTech  21.09.2022, 21:03
@regex9

Naja gut, dann habe ich mich wohl geirrt. Kann passieren. :)

0
Deffer 
Fragesteller
 21.09.2022, 21:05
@FaTech

Ich hab herrausgefunden der link.download = ...

1. Darf kein Link sein.

2. Die Bilder führen zu einer weiteren seite wo die Original große ist.

3. Ich muss auf das Bild klicken und dann von der weiterleitung aus Downloaden.

Also

<a href=Site wo die Original große ist>

Img auf der seite downlaoden

1.Ist das möglich

2.Danke das Sie versuchen mir zu helfen

0