2010-12-22 7 views
1

Ich versuche, die EXIF-Reader zu verwenden und ich weiterhin die Fehler erhalten „Errno :: ENOENT: Keine solche Datei oder das Verzeichnis“Rubin EXIFR kann Datei nicht finden

Ich habe überprüft und die Datei mit Sicherheit existiert in die Lage ich bin Regie es an:

<%= EXIFR::JPEG.new('/system/datas/5/original/IMG_0011.JPG').date_time %> 

(Dies ist, wo Büroklammer die Dateien nach dem Hochladen setzt) ​​

Alle Ideen, warum ich weiterhin diesen Fehler erhalten. Ich denke, das Problem besteht möglicherweise nicht darin, die Datei zu finden, sondern dieser Fehler maskiert das eigentliche Problem.

Ich brauche die EXIF-Daten aus Bilddateien abrufen. Andere Ideen sind willkommen. Ich verwende Büroklammer zum Hochladen von Dateien.

Danke!

+0

Das klingt vielleicht dumm, aber sind Sie sicher, dass dieses Bild EXIF-Daten hat? –

+0

Ich weiß, du hast gesagt, du hast überprüft, dass die Datei existiert, aber hast du Ruby darum gebeten? 'p Datei.exists? ('/ system/data/5/original/IMG_0011.JPG')' – Phrogz

Antwort

0

Der Pfad, den Sie EXIFR bereitgestellt eine URL ist, kein Pfad auf dem System. Versuchen Sie es:

$ ls /system/datas/5/original/IMG_0011.JPG 

Die Datei wird im public Verzeichnis Ihrer Rails-Anwendung gespeichert ist, so etwas wie:

EXIFR::JPEG.new(Rails.root.join('public', '/system/datas/5/original/IMG_0011.JPG')).date_time 

Aber Büroklammer stellt auch ein Verfahren den Pfad für den Zugriff auf und das ist durch Die path Methode:

@model.data.path 
+0

funktioniert groß. Vielen Dank – looloobs

0

macht diese Arbeit für Sie

<%= EXIFR::JPEG.new(Rails.root.join('public/system/datas/5/original/IMG_0011.JPG')).date_time %> 
+1

Dies gab mir den folgenden Fehler: NameError: undefined lokale Variable oder Methode 'readchar 'für # amaseuk