Archivierung und Verwaltung digitaler Bilder

Entwicklung einer einheitlichen Schnittstelle zur Erfassung der Fotos

Geschafft! Endlich habe ich mich durchgerungen, auch die Bilder meiner Spiegelreflexkamera über den lokalen Webserver zu erfassen. Das mag auf den ersten Blick umständlich erscheinen, ist es aber nicht. Zum Einen liegt es daran daß ich hin und wieder Bilder mit meinem Smartphone mache und primär dafür diese Schnittstelle entwickelt habe. Das heißt, daß ich die Fotos vom Smartphone ohne Kabel auf meinen PC überspielen kann ganz einfach über ein Fileupload via Browser vom Smartphone. Zum Anderen ist das die einzige Möglichkeit das Dateidatum LastModified zu bekommen, denn per Kabel ist das Gerät zwar im Dateiexplorer sichtbar, jedoch nicht als Laufwerk. Beim Kopieren über USB würde somit das LastModified-Datum nicht übernommen werden. Die File-API hingegen liefert dieses Datum über das Inputfeld type="file" und so ist es möglich diesen Zeitstempel der hochgeladenen Datei aufzudrücken mit utime():

my $fh = IO::File->new(); $fh->open( "$path/$year/$month/$name", O_CREAT|O_TRUNC|O_BINARY|O_RDWR ) or die $!; $fh->print($binary); $fh->close; utime($utime, $utime, "$path/$year/$month/$name") or die $!; $self->{CONTENT} = "Upload OK";

Das Upload selbst verzichtet somit auf den grottigen Enctype multipart/form-data mit dem das Last-Modified-Datum ohnehin gar nicht übertragen wird. Stattdessen habe ich einen eigenen Serialize-Algorithmus und damit einen eigenen Content-Type entwickelt womit hunderte Dateien in einem einzigen POST-Request mit einer beliebigen Datenmenge übertragen werden können.

Das Bilderarchiv selbst ist ganz einfach eine Verzeichnisstruktur nach Jahr und Monat in welchem sich sämtliche Bilder, egal ob vom Smartphone oder von der Spiegelreflexkamera, wiederfinden. Eine weitere Anwendung die ich für den Browser entwickelt habe, ermöglicht die Navigation über die Fotos und das Eintragen einer Beschreibung zu jedem Bild. Diese Beschreibungen wird mit dem Dateinamen in MySQL gespeichert und realisiert damit eine Volltextsuche. Vom Komfort her ist diese Verwaltung bisher von keiner anderen Anwendung übertroffen.


Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. s​os­@rolf­rost.de.