ugrás a tartalomhoz

FCKEditor aspx

fERI · 2007. Jún. 4. (H), 23.34
Sziasztok!

Sokan ajánlották az FCKEditor. Egy ASP .NET-es oldal készítek, és szerkesztőnek használnám. Elvégeztem a leírásban megadott dolgokat, viszont a képfeltöltésnél problémák vannak.

Környezet: http://localhost/fckeditor
Szerkesztő elérése: http://localhost/fckeditor/FCKEditor
Feltöltéshez szükséges elérhetőség: http://localhost/fckeditor/upoload

A web.config-ban a következp beállítások kerültek megadásra:

<appSettings>
<add key="FCKeditor:BasePath" value="~/FCKeditor/"/>
<add key="FCKeditor:UserFilesPath" value="~/upload/"/>
</appSettings>

Az FCKEditor/ckconfig.js-ben a következők kerültek megadásra:

var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php

A probléma az, hogy a feltöltés sikeresen végrehajtódik, viszont sajnos az elkészített html-ben a kép URL-je nem megfelelő. Az editor saját magához viszonytja a szerkesztőben a kép URL-jét (ami nem jó, mert ott nem találja). A szerkesztő a következő URL-t adja: ~upload/kep.jpg. Viszont a szerkesztőben a ../../kep.jpg URL megadásakor hajlandó csak látni a képet.

A kérdésem az lenne, hogy meg lehet-e esetleg a szerkesztővel beszélni, hogy ne relatív, hanem abszolut URL-ekkel dolgozzon?
Másik lehetséges megoldás, hogy valamilyen másik paraméterrel megadni, hogy mi legyen a kép URL-je. Erre van lehetőség?

Sajnos a GOOGLE nem sok mindent mondott, amit adott megoldás gyanánt, azt már mindent végig próbáltam.

Előre is köszönöm a tippeket, illetve a megoldásokat.

További kellemes, szép napot kívánok.

Üdvözlettel:

fERI
 
1

tilde

vbence · 2007. Jún. 5. (K), 22.57
A szerkesztő a következő URL-t adja: ~upload/kep.jpg

A hullám az valamiféle home könyvtárat jelent (gondolom én). A lényeg, hogy ez nem ergy érvényes webes URL. Nekem úgy tűnik, hogy a FCKeditor:UserFilesPath paramétert bemásolja a képek URLjébe, tehát én kipróbálnám, hogy más módon admom meg (mondjuk ./upload vagy upload).
2

re...

fERI · 2007. Jún. 5. (K), 23.37
Szia vbence!

Igen, ez a probléma... vagyis a szerkesztő szempontjából probléma...

Nekem ez az URL meg is felelne, a kép feltöltés sikeresen meg is történik, visztont a szerkesztő nem tudja megjeleníteni a képet, mivel két szinttel bentebb van (egyértelmű, hogy nem találja). Viszont a képet a szerkesztőben szeretnémn látni.

Erre keresek valami használható megoldást.

Előre is köszönöm.

További kellemes, szép napot kívánok.

Üdvözlettel:
fERI
3

tilde

Rici · 2007. Jún. 6. (Sze), 10.15
A ~ ASP.NET alatt a webalkalmazás gyökérkönyvtárára utal. Ezzel azt lehet elérni, hogy attól függetlenül fejleszthetsz, hogy az alkalmazásod címe http://example.com/ vagy másik esetben valamiért csak http://example.com/alkonyvtar lesz, a tildét a lehetséges helyeken használva függetlenítheted magad ettől a problémától.

Erről viszont csak a szerver tud, hogy mi is valójában az alkalmazás (hogy az alkalmazásokat elkülönítve futtathassa), és mi csak egy sima alkönyvtár, tehát kliens oldalon nem lehet használni a tildét.

Valamiért az FCKEditor-hoz tartozó ASP.NET controlt nem ennek az elvnek megfelelően írták meg, és amikor a klienshez kerül ez az érték, benne marad a ~. Ezért a konfigurációban a UserFilesPath-nál muszáj abszolút utat használni, mint pl. /upload/
4

Relatív útvonal

vbence · 2007. Jún. 6. (Sze), 10.23
A /upload viszont a webszerver gyökérkönyvtárához van viszonyítva. Kérdés, hogy a feltöltő szkript (a szerveroldalon) tudja-e értelmezni (nem ismerem az ASP-t, de PHP-ben ez biztosan nem működne).
6

Nem a szerveroldal

Rici · 2007. Jún. 6. (Sze), 23.17
Itt nem a szerveroldallal van a gond, épp az a lényeg, hogy a beépített szerveroldali metódusok, amiket mentéskor fájlrendszerbeli útvonallá alakításnál meghív az FCKEditor controlja, azok megfelelően tudják értelmezni a ~-vel és /-rel kezdődő elérési utakat is.

Az ASP.NET-es controloktól viszont elvárás, hogyha valamiért a kliens felé kell továbbítani egy elérési útvonalat, ami ~-vel kezdődik, azt alakítsák át ~ nélküli útvonallá. Viszont ezt az FCKEditor controlja nem teszi meg, a kliens oldal viszont nyilván nem tud mit kezdeni egy tildés URL-lel.

Egyébként át lehet írni a control forráskódját, de igazából nincs értelme. Ugyanis ha a kliensoldal nem tildés, viszont akár /-rel kezdődő, akár relatív útvonalat kap, azt az FCKEditor /-rel kezdő útvonalként menti el a HTML kódba. Tehát a webroot-hoz lesz viszonyítva, nem az alkalmazás gyökeréhez, így viszont értelmét veszti az egész tildés koncepció. Remélem érthető volt, nagyjából. :)
5

Megoldás

fERI · 2007. Jún. 6. (Sze), 17.37
Sziasztok!

Nagyon szépen köszönöm mindenkinek a segítséget. A problémát megoldottam.

A virtuális könyvtárat is meg kell adni az FCKEditornak a web.config állományban az UserFilesPath konfigurációs értékben. A helyes értékmegadás a web.config-ban a következő az eredeti példának megfelelően:

<add key="FCKeditor:UserFilesPath" value="/fckeditor/upload/"/>

Az mondjuk igaz, hogy az egész agyába nem néztem bele, így nem tudom, hogy miért így kell megadni, de most egyenlőre ez annyira nem számít. Ha lesz időm, akkor majd belemászok.

Egyenlőre megy, és gondoltam, megosztom mindenivel.

Mégegyszer mindenkinek köszönöm a segítséget. Remélem, hogy következőre az oldalt mutathatom majd be.

További kellemes, szép napot kívánok mindenkinek.

Üdvözlettel:

fERI