chrisfah
Goto Top

Bild aus HTML Seite mit einem Klick lokal speichern ???

Suche nach einer Lösung, wie ich ein Bild aus einer Webseite mit nur einem Klick rasch lokal speichern kann.

Hallo,
ich suche nach einer Lösung, wie ich ein Bild, das alle 10 Sek. per javascript aktualisiert wird, mit nur einem Klick lokal speichern kann. Ideal wäre, wenn statt des origainal Dateinamen (current.jpg) als Name eine Art timestamp von der Art YY-mm-dd_HH-mm-ss.jpg verwendet wird.
Das Problem ist, wenn ich erst im Browser "Grafik speichern unter" drücken muss, und dann auch noch einen "fortlaufenden " Namen eingeben muss, ist das Bild schon zehnmal aktualisiert ....
Lösungen im html, php und js sind willkommen.

Hat jemand eine Lösung ???

Lg, Chris

Content-ID: 204213

Url: https://administrator.de/forum/bild-aus-html-seite-mit-einem-klick-lokal-speichern-204213.html

Ausgedruckt am: 26.12.2024 um 21:12 Uhr

wiesi200
wiesi200 31.03.2013 um 21:26:59 Uhr
Goto Top
Hallo,

wie währ's damit?
http://de.wikipedia.org/wiki/Wget
Sokrates
Sokrates 01.04.2013 um 02:39:48 Uhr
Goto Top
Eine Alternative zu einem Skript wäre, das Bild aus dem Browserfenster auf den Schreibtisch bzw. in einen anderen Ordner zu ziehen.
MrNetman
MrNetman 01.04.2013 um 10:17:13 Uhr
Goto Top
Irfanview Screenshots per hotkey.
ChrisFah
ChrisFah 01.04.2013 um 11:39:23 Uhr
Goto Top
Hallo,
danke für die Anregungen, leider keine dabei, die in Frage kommt.

Es MUSS wirklich eine Lösung sein, die beim User KEINE Voraussetzungen stellt.
Am liebsten wäre mir ein HTML Link, der (wenns geht) nicht die Seite verlässt, und lediglich den Download des Bildes anbietet, wobei der "Save as" - Filename einen timestamp haben soll.

Also sowas in der Art:
Per js wird in neuem Fenster jenes script geladen, das per php header das Bild speichern auslöst, und dann wird eben jenes Fenster per js wieder geschlossen.

js - Teil: ???
???

php - Script:
$datei = '/pfad/pfad/datei.jpg';  
$save_as = 'bild_'.$date('Y-m-d_h-m-s').'.jpg';  
header("Content-Type: application/force-download");  
header("Content-Disposition: attachment; filename=\"". urlencode($save_as) ."\"");  
header("Content-Length: ". filesize($pfad));  
header("Content-Transfer-Encoding: binary");  
readfile($datei);
exit();


Nur, wie muss der js Teil aussehen?

Lg, Chris
Sokrates
Sokrates 01.04.2013 um 12:37:48 Uhr
Goto Top
Was für Voraussetzungen an den Benutzer stellt meine Alternative?
colinardo
colinardo 01.04.2013 um 14:14:40 Uhr
Goto Top
Zitat von @Sokrates:
Was für Voraussetzungen an den Benutzer stellt meine Alternative?
Ein Hirn ! und das vergessen viele Zuhause wenn sie zur Arbeit gehen face-wink
wiesi200
wiesi200 01.04.2013 um 14:23:46 Uhr
Goto Top
Mach's doch nicht so kompliziert. Mit Wget und nem kleinen Batch Script kannst du das doch lösen.
colinardo
colinardo 01.04.2013 aktualisiert um 14:26:18 Uhr
Goto Top
Nur, wie muss der js Teil aussehen?

Das sollte helfen:
win = window.open("phpscript.php");  
setTimeout('win.close()', 3000);  
Gruß Uwe
ChrisFah
ChrisFah 01.04.2013 aktualisiert um 23:27:07 Uhr
Goto Top
@Sokrates:
Hallo,
zunächst Danke für deinen Vorschlag. Voraussetzungen an den Benutzer gibt es keine, leider ist die Lösung eher sehr amateurhaft, und ohne grösserem Desktop auch schwer realisierbar. Dank mal an die armen user mit iphone, da ist kein Platz für Desktop neben dem Browser.... face-wink
Lg, Chris
ChrisFah
ChrisFah 02.04.2013 um 00:40:32 Uhr
Goto Top
@colinard:
Hi, Danke für deine Idee!!!
Ich habs wie folgt mit deinem script gelöst:
js mit deinen beiden Zeilen wird duch einen Klick auf einen "Bild speichern" Link gestartet. Page reload per return false; verhindert.
<a href="#" onclick="savepic();return false;">Bild speichern</a>  
<script language="JavaScript">  
function savepic() {
win = window.open("http://www.f-cam.at/get.php");   
setTimeout(\'win.close()\', 3000);  
}
</script>
Die php Datei, welche im js aufgerufen wird, sieht so aus:
<?php
header('Content-Type: image/jpeg');  
header('Content-Disposition: attachment; filename="'.date("Y-m-d_h-m-s").'.jpg'.'"'); // replace name with date-time stamp  
readfile($_SERVER['DOCUMENT_ROOT'].'/path/to_file/picture.jpg');  
?>

Aufgabe gelöst !
Danke an alle fürs mitdenken !
Lg, Chris
Sokrates
Sokrates 02.04.2013 um 00:46:17 Uhr
Goto Top
Nun gut, es ist zwar meiner Ansicht nach die einfachste Lösung, allerdings habe ich tatsächlich im Bereich Entwicklung nicht an iPhone-Benutzer gedacht. ;)
Sokrates
Sokrates 02.04.2013 um 00:56:55 Uhr
Goto Top
Zitat von @colinardo:
> Zitat von @Sokrates:
> ----
> Was für Voraussetzungen an den Benutzer stellt meine Alternative?
Ein Hirn ! und das vergessen viele Zuhause wenn sie zur Arbeit gehen face-wink


Ok. ^^