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-Key: 204213

Url: https://administrator.de/contentid/204213

Printed on: April 23, 2024 at 22:04 o'clock

Member: wiesi200
wiesi200 Mar 31, 2013 at 19:26:59 (UTC)
Goto Top
Hallo,

wie währ's damit?
http://de.wikipedia.org/wiki/Wget
Member: Sokrates
Sokrates Apr 01, 2013 at 00:39:48 (UTC)
Goto Top
Eine Alternative zu einem Skript wäre, das Bild aus dem Browserfenster auf den Schreibtisch bzw. in einen anderen Ordner zu ziehen.
Member: MrNetman
MrNetman Apr 01, 2013 at 08:17:13 (UTC)
Goto Top
Irfanview Screenshots per hotkey.
Member: ChrisFah
ChrisFah Apr 01, 2013 at 09:39:23 (UTC)
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
Member: Sokrates
Sokrates Apr 01, 2013 at 10:37:48 (UTC)
Goto Top
Was für Voraussetzungen an den Benutzer stellt meine Alternative?
Member: colinardo
colinardo Apr 01, 2013 at 12:14:40 (UTC)
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
Member: wiesi200
wiesi200 Apr 01, 2013 at 12:23:46 (UTC)
Goto Top
Mach's doch nicht so kompliziert. Mit Wget und nem kleinen Batch Script kannst du das doch lösen.
Member: colinardo
colinardo Apr 01, 2013 updated at 12:26:18 (UTC)
Goto Top
Nur, wie muss der js Teil aussehen?

Das sollte helfen:
win = window.open("phpscript.php");  
setTimeout('win.close()', 3000);  
Gruß Uwe
Member: ChrisFah
ChrisFah Apr 01, 2013 updated at 21:27:07 (UTC)
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
Member: ChrisFah
ChrisFah Apr 01, 2013 at 22:40:32 (UTC)
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
Member: Sokrates
Sokrates Apr 01, 2013 at 22:46:17 (UTC)
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. ;)
Member: Sokrates
Sokrates Apr 01, 2013 at 22:56:55 (UTC)
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. ^^