# TIF Bilddatei auslesen



## crsakawolf (23. August 2013)

Hallo Community,

irgendwie habe ich in meinem Script Probleme mit einer TIF Datei.

Wenn ich diese per jQuery laden will, zeigt er Sie mir nicht an und gibt mir stattdessen folgenden Fehler aus 


```
Resource interpreted as Image but transferred with MIME type image/tiff: "...images/category/pending/Tiffgwq2t005dlxnw77oi.tif".
```

Als Fehler Zeile wird mir 
	
	
	



```
img.src = src;
```
 angezeigt.


```
// Aktuelle Größe ermitteln
			var img = new Image();
			img.src = src;
			
			if(img.width > img.height){ // Maximalgröße ermitteln
```



Hat jemand vielleicht eine Idee?

Vielen Dank


----------



## tombe (23. August 2013)

Hast du es zum Beispiel mal mit einer GIF- oder JPG-Datei versucht? Ich behaupte jetzt einfach mal das dieses Dateiformat einfach nicht dargestellt/verarbeitet werden kann.


----------



## crsakawolf (23. August 2013)

Das lustige ist. Manchmal gehts, manchmal nicht 

Ich lade die Bilder ja Dynamisch nach.
Bei Googel findet man leider auch nichts wirklich dazu.
Achja ich nutze aktuell Google Chrome.

EDIT:
Der Fehler tritt auch nur in diesem Browser auf :/


----------



## Anna Bolika (23. August 2013)

Für das Internet solltest du jpg, gif oder png nutzen. TIF-Dateien sind allein schon wegen der Größe problematisch. Was ist denn der Grund, dafür, dass du TIFs verwenden möchtest?

http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support


----------



## tombe (23. August 2013)

Also wenn es manchmal geht und manchmal nicht, dann solltest du herausfinden wo der Unterschied ist.

Ansonste aber wie Anna Bolika schreibt: warum müssen es gerade TIFs sein?


----------



## crsakawolf (23. August 2013)

Heyho, 

danke für eure antworten.

Ich baue grade einen Bilderserver für unser Intranet. Dort muss auch die möglichkeit bestehene, das TIFF's hochgeladen und angezeigt werden können.
(Leider) 

Also wie gesagt FireFox machts.
Dargestellt werden die TIFFs ja in der HTML.

Aber wenn ich Sie dann per jQuery in mein Preview Fenster schieß, dann gehts manchmal, manchmal nicht. Unterschiede gibt es eigentlich keine. Manchmal funktionierts wieder, wenn ich F5 drück. Ich sehe keinen möglichen Fehler oder ähnlich.

Sehr merkwürdig das ganze


----------



## Anna Bolika (23. August 2013)

Also wenn ich das zu machen hätte, würde beim ersten Aufruf eines Bildes ein Vorschaubild in zwei Größen erstellen (php). Anzeigen würde ich dann nur diese Vorschaubilder. Die TIF kann man ja dann als Download anbieten.


----------



## crsakawolf (26. August 2013)

Hallo,

sorry das ich mich jetzt erst melde.

Also kurz der Gedanke.

User lädt Bild hoch -> Bild muss freigegeben werden usw..
Bild kann Tiff oder Jpeg sein.
Tiff wird nicht unterstützt -> muss in Jpeg umgewandelt werden.

Jetzt stellt sich mir die Frage, Wie? Weil normal PHP kann das wohl nicht handeln.
ImageMagick habe ich irgendwo mal gelesen.

Habt Ihr da ein kleines Workaround?
Das wäre super.

Vielen dank.


----------



## tombe (26. August 2013)

Nur damit ich dich richtig verstehe.
Du willst es jetzt so machen das der Dateityp überprüft werden soll und wenn es keine JPG-Datei ist, soll eine Fehlermeldung ausgegeben werden?

Da du jetzt PHP ins Spiel gebracht hast, schau dir getimagesize an, damit kannst du den Dateityp ermitteln!


----------



## crsakawolf (26. August 2013)

Morgen 

Die Fehlermeldung soll nur kommen, wenn es keine Jpeg oder Tiff ist.
(das habe ich aber schon implementiert)

Ich brauche jetzt eine möglichkeit, das wenn es TIFF ist (den Dateityp ermitteln habe ich auch implementiert), dann soll ein Vorschaubild (Jpeg) erstellt werden von der TIFF.

Also kurz 
-> ist Bildtyp TIFF? -> 'JA' -> erstelle Vorschaubild von TIFF

Dazu brauch ich eine möglichkeit. PHP.net gibt mir leider für den Dateityp keine möglichkeit.

Danke =)


----------



## vfl_freak (26. August 2013)

Moin,


crsakawolf hat gesagt.:


> Jetzt stellt sich mir die Frage, Wie? Weil normal PHP kann das wohl nicht handeln.
> ImageMagick habe ich irgendwo mal gelesen.


ja, das ist ein mächtiges Tool, das wohl auch TIFF-Dateien bearbeiten kann:
http://www.imagemagick.org/script/index.php

Es gibt auch eine Kommandozeilen-Version, die ich vor langer Zeit auch mal für einen ähnlichen Zweck genutzt habe.

Ich habe allerdings keine Plan ob und wie Du das mit PHP aufrufen kannst ...

Gruß
Klaus


----------



## Jan-Frederik Stieler (26. August 2013)

Hallo,
wie ist den der Mimetype auf dem Server eingetragen. 
Es macht nämlich einen Unterschied ob du .tif oder .tiff einträgst.


```
AddType image/tiff .tiff .tif
```

Grüße


----------



## crsakawolf (26. August 2013)

Jan-Frederik Stieler hat gesagt.:


> Hallo,
> wie ist den der Mimetype auf dem Server eingetragen.
> Es macht nämlich einen Unterschied ob du .tif oder .tiff einträgst.
> 
> ...


Wo genau meinst du?
Der Type wird direkt vom Hochgeladenen Bild gezogen.

Grüße


----------



## Jan-Frederik Stieler (26. August 2013)

Nun wenn du einen Apache hast musst du das in der Konfigurationsdatei (http.conf) machen.
Damit weiß der Server dann was er mit entsprechenden Dateien machen soll.
Ich bin mir jetzt nicht sicher ob der Server auch ohne dem eingetragenen Mimetype trotzdem damit umgehen kann, aber falls probleme auftretten würde ich den Mimetype mal eintragen udn schauen obs damit besser funktioniert.

http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf09.htm
http://www.teialehrbuch.de/Kostenlose-Kurse/Apache/15403-MIME-Types.html

Viele Grüße


----------



## crsakawolf (26. August 2013)

Jan-Frederik Stieler hat gesagt.:


> Nun wenn du einen Apache hast musst du das in der Konfigurationsdatei (http.conf) machen.
> Damit weiß der Server dann was er mit entsprechenden Dateien machen soll.
> Ich bin mir jetzt nicht sicher ob der Server auch ohne dem eingetragenen Mimetype trotzdem damit umgehen kann, aber falls probleme auftretten würde ich den Mimetype mal eintragen udn schauen obs damit besser funktioniert.
> 
> ...



Es ist ein IIS-Server. Wie gesagt, es geht zZ nicht im Chrome.
FireFox kann die Bilddateien ohne Probleme und meckereien anzeigen und macht da keinen Stress.

Ich werde sobald unser Admin die ImageMagick Installiert hat mal schauen wegen Umwandeln, vlt. behebt sich das Problem somit von allein.

Danke


----------



## ComFreek (26. August 2013)

So kannst du MIME Types in IIS setzen:

http://technet.microsoft.com/en-us/library/bb742440.aspx
http://www.rackspace.com/knowledge_...define-mime-types-on-my-windowsiis-based-site


----------



## hela (26. August 2013)

Hallo,

ich glaube das TIFF-Bild ist einfach noch nicht geladen, wenn deine IF-Anweisung kommt.
Sieh mal hier: Preloading and the JavaScript Image() object


----------



## crsakawolf (30. August 2013)

Hallo Freunde,

um das Problem abzuschließen und vlt. anderen zu helfen.

Das Problem bei der Darstellung war, das die Bilddatei vom Browser noch nicht gecached wurde.
D.h. er konnte noch nicht die Breite und Höhe auslesen.

Das Problem ist so zu lösen, das alles was mit dem Bild passieren soll erst dann ausgeführt wird,
wenn es vom Browser geladen wurde (img.onload)


```
var img = new Image();
		
				img.src = src;
				
				img.onload = function(){
					
					if(img.width > img.height){ // Maximalgröße ermitteln
						if(img.width > opt.max_width){
							width = opt.max_width; ..........
```

Dann klappts auch mit dem Chrome 

Ich bedanke mich nochmal bei allen für die Denkanstöße.

Lg cRs


----------

