Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-05-2011, 21:32   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Problem mit relativen Pfadangaben bei Bildern

Hallo Freunde,

ich habe ein Problem beim Einbinden von Bildern mit AS3 über die image.source-Property, wenn ich bei relativen Pfaden einen level aufwärts bewegen will.

Die Application liegt unter domain/en, die Bilder unter domain/images. Wenn ich also auf die Bilder zugreifen will mit "../images/image.jpg" wird kein Bild geladen. Liegt die Application jedoch unter dem root verzeichnis ist ein Zugriff mit "images/image.jpg" möglich. Ebenso ist ein absoluter Zugriff mit domain/images/image.jpg möglich. Was mache ich also falsch?

Liegt es vielleicht daran, dass dem root ordner eine andere domain zuordnet ist als dem en-Ordner? Alle Daten liegen jedoch auf demselben Webserver und ein relativer Zugriff vom Unterordner zum Bilderordner per php beispielsweise ist kein Problem.

Vielen Dank
Moorhuhn ist offline   Mit Zitat antworten
Alt 16-05-2011, 22:41   #2 (permalink)
i ate pixels
 
Benutzerbild von pixelslave
 
Registriert seit: Mar 2004
Ort: Augsburg
Beiträge: 528
Die Pfadangabe bezieht sich immer auf das Quellerzeichnis deines Projektes, das du zb. im FlashBuilder angegeben hast. Meist heißt das src. Das bitte nicht verwechseln mit Pfadangaben die zur Laufzeit wie in HTML benötigt werden.

Auserdem verweisst ../ nicht auf das Quellverzeichnis sondern in ein übergeordnetes Verzeichnis.

Bsp mit src als Quellverzeichnis:

Code:
- assets/images/image.jpg
- src/de/domain/Main.as

demnach wäre ein pfad zu image.jpg aus der Main.as
../../../../assets/de/domain/image.jpg
Grüße

Martin
pixelslave ist offline   Mit Zitat antworten
Alt 17-05-2011, 08:50   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Zitat:
Zitat von pixelslave Beitrag anzeigen
Die Pfadangabe bezieht sich immer auf das Quellerzeichnis deines Projektes, das du zb. im FlashBuilder angegeben hast. Meist heißt das src. Das bitte nicht verwechseln mit Pfadangaben die zur Laufzeit wie in HTML benötigt werden.

Auserdem verweisst ../ nicht auf das Quellverzeichnis sondern in ein übergeordnetes Verzeichnis.
Das ist schon klar, dass ich mit ../ eine Ebene nach oben gehe und nicht mehrere. Das mit den Pfaden im Projekt stimmt jedoch nicht so ganz, da die Bilder nicht im Projekt abgelegt sind, sonder von Usern zur Laufzeit hochgeladen und im Ordner images abgespeichert werden.

Meine Frage war bloß warum die Pfadangaben funktionieren, wenn ich absolut auf die Bilder zugreife, bzw. wenn ich keine Ebene hoch gehen muss, aber nicht funktionieren, wenn ein ../ am Anfang der Quellangabe steht.

Geändert von Moorhuhn (17-05-2011 um 08:51 Uhr)
Moorhuhn ist offline   Mit Zitat antworten
Alt 17-05-2011, 08:54   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Weil der Pfad falsch ist.
Omega Psi ist offline   Mit Zitat antworten
Alt 17-05-2011, 08:57   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Der FlashPlayer sucht externe Dateien nicht relativ zur SWF, sondern relativ zu dem HTML-Dokument, in dem die SWF eingebettet ist.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 17-05-2011, 09:07   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Zitat:
Weil der Pfad falsch ist.
Absolute Pfadangaben funktionieren ja, kann also nicht ganz falsch sein

Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Der FlashPlayer sucht externe Dateien nicht relativ zur SWF, sondern relativ zu dem HTML-Dokument, in dem die SWF eingebettet ist.
Das ist egal, da swf und html-Dokument im selben Ordner liegen. Könnte es möglicherweise mit der Verwendung von mehreren Domains zusammenliegen (Root Ordner ist domain.de, Ordner wo swf und html-Dateien liegen ist domain.com), obwohl es der gleiche Webserver ist? Wenn ich also beim Verlinken über den Root-Ordner gehe, dass da die Pfade verwirrt werden?
Moorhuhn ist offline   Mit Zitat antworten
Alt 17-05-2011, 09:19   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von Moorhuhn Beitrag anzeigen
Könnte es möglicherweise mit der Verwendung von mehreren Domains zusammenliegen (Root Ordner ist domain.de, Ordner wo swf und html-Dateien liegen ist domain.com), obwohl es der gleiche Webserver ist? Wenn ich also beim Verlinken über den Root-Ordner gehe, dass da die Pfade verwirrt werden?
Bei relativen Pfaden sollte die Domain eigentlich keine Rolle spielen - bei absoluten hingegen schon.

Zum Thema crossdomain.xml gibt es hier im Forum dutzende Threads -benutz' mal die Suchfunktion!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 17-05-2011, 09:21   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Setzt Eventhandler auf IOErrorEvent.IO_ERROR und SecurityErrorEvent.SECURITY_ERROR, dann weisst was da falsch läuft.

Bei solchen Sachen muss man nicht raten.
Omega Psi ist offline   Mit Zitat antworten
Alt 17-05-2011, 09:26   #9 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
...oder schau Dir einfach mal in FireBug an, wo er die Bilder sucht!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 17-05-2011, 10:33   #10 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Zitat:
Zitat von Martin Kraft Beitrag anzeigen
...oder schau Dir einfach mal in FireBug an, wo er die Bilder sucht!
Danke für den Tipp, wie es scheint, hat der FlashPlayer Probleme damit die relative Adresse in eine absolute umzuwandeln. Wenn ich die Application im root Ordner ablege, bekomme ich als Ladeadresse http://domain/images/image.jpg angezeigt (funktioniert), wenn ich jedoch die Application im Ordner en ablege, und dann mit ../ verlinken versuche bekomme ich http://images/imgage.jpg angezeigt (funktioniert natürlich nicht).

Der IOError sagt im Prinzip dasselbe mit Error #2035: Die URL wurde nicht gefunden. Ein SecurityError wird scheinbar nicht erzeugt

Geändert von Moorhuhn (17-05-2011 um 10:39 Uhr)
Moorhuhn ist offline   Mit Zitat antworten
Alt 17-05-2011, 10:39   #11 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Bist Du wirklich sicher, dass die einbettende HTML-Datei (Pfad in der Adresszeile des Browsers) im Ordner /en liegt und nicht direkt auf der Server-Root?

Ich würde Dir übrigens raten, generell mit Domain-unabhängigen absoluten Pfaden zu arbeiten:
Zitat:
/ -> Die Root
/images/image.jpg -> Dein Bild
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 17-05-2011, 10:49   #12 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
ja bin ich mir sicher, offensichtlich scheint das Verwenden mehrer Domains auf einem Webserver doch zu dem Problem zu führen. Naja, werde wohl dann mit absoluten Pfaden arbeiten müssen. Habe eben nochmal ausprobiert wenn ich anstatt ../ => /../ schreibe, das scheint das Problem mit der falschen Umwandlung zu beheben, allerdings nicht das Problem mit den verschiedenen Domains, sodass trotzdem ein falscher absoluter Pfad verwendet wird, da jetzt in Ordner en ein image Ordner gesucht wird (also kein level hoch), da dies der root Ordner der .com adresse ist, aber eben nicht der root Ordner des Webservers
Moorhuhn ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Externe SWF laden -> Problem mit relativen Pfadangaben mr.butthead ActionScript 3 8 12-05-2010 14:43
Problem mit relativen Pfaden in Flash BFBS Flash Einsteiger 1 13-04-2008 12:35
keine relativen Pfadangaben!? romamon Web-Editoren 2 25-08-2005 15:38
Problem mit globalen und relativen soundobjekt Samuel Flash MX 17 06-09-2004 20:51
Problem mit relativen und absoluten Links wheelsurfer Flash MX 2004 3 18-12-2003 16:17


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele