Naujausias "CKEditor" ir "CKFinder" versijas galima atsisiųsti iš oficialios svetainės (http://cksource.com).
Įdėkite aukščiau nurodytus du išteklius į šakninį svetainės katalogą: /CKEditor (čia 3.6.2 versijoje turite įdėti aplanką _Samples\ckeditor į suspaustą aplanką) ir /CKFinder (didžiosios ir mažosios raidės, aplanką galite įdėti čia tiesiogiai). )
Atkreipkite dėmesį, kad čia kartais yra klaida generuojant. Pavyzdžiui, yra pasikartojančių AssemblyTitle tipo žymų, daugiausia todėl, kad svetainėje yra daugiau nei vienas AssemblyInfo.cs atsisiųstam failui ištrinti. Arba ištrinkite aplanką _source. Jei turite klausimų čia, galite susisiekti su manimi: mano QQ: 515072775
CKEditor naudojimas puslapyje:
<textarea cols="80" id="prcontent" name="content" rows="50"> Sveiki, jūsų naudojimas buvo sėkmingas! </textarea>
<scrip remove ttype="text/javascrip remove t" >
CKEDITOR.replace('turinys', { aukštis:200, plotis: 520 });
. .</scrip去掉t> .
CKEditor neturi įkėlimo funkcijos, todėl jį reikia įkelti su CKFinder
1 žingsnis: Svetainėje turi būti nurodyta CKFinder dll (katalogas: /CKFinder/bin/Release/CKFinder.dll)
2 veiksmas: sukonfigūruokite CKEditor config.js (katalogas: /CKEditor/config.js) funkcijoje CKEDITOR.editorConfig ir nereikalingas funkcijas galima pašalinti
CKEDITOR.editorConfig = function(config) { config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html'; Nerašykite "~/ckfinder/..." arba "/ckfinder/..." config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html? tipas=Vaizdai"; config.filebrowserFlashBrowseUrl = 'ckfinder/ckfinder.html? Tipas = blykstė'; config.filebrowserUploadUrl = 'ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files'; config.filebrowserImageUploadUrl = 'ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images'; config.filebrowserFlashUploadUrl = 'ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'; config.filebrowserWindowWidth = '800'; Iššokančiojo lango Naršyti serverį dydžio nustatymas config.filebrowserWindowHeight = '500';
} CKFinder.setupCKEditor(null, '.. /ckfinder/'); Atkreipkite dėmesį, kad ckfinder kelias atitinka faktinę vietą
CKFinder konfigūracija:
Atidarykite vartotojo valdiklį config.ascx dalyje "ckfinder\" ir pakeiskite jo BaseUrl kelią:
BaseUrl = "~/ckfinder/userfiles/"; arba BaseUrl = "ckfinder/userfiles/";
Štai papildomas punktas: naudinga išbandyti IIS. Priešingu atveju, jei įkėlimas nepavyks, pagalvosite, kad kažkas negerai su konfigūracija.
CKEditor turi įkėlimo funkciją po to, kai konfigūracija yra baigta, bet ką daryti, jei vaizdo failas yra originalus vaizdo pavadinimas ir nori pakeisti jį į atsitiktinį failo pavadinimą? Tada pažvelkite į trečią žingsnį.
3 veiksmas: pakeiskite CKFinder šaltinio kodą. CKFinder turi savo šaltinio kodą, katalogą: /CKFinde/_source
Sukurkite naują dabartinį projektą VS į CKFinde/_source/CKFinder.Net.sln, čia atsisiųstas sprendimo failas gali neatsidaryti VS2008, galite pasirinkti pridėti naują projektą arba naudoti naujesnę VS versiją, kad jį atidarytumėte.
1) Atidarykite failą /Settings/ConfigFile.cs
Raskite 27 eilutes ir pridėkite atributą: public bool RandomReName; Pervardykite atsitiktinai
Suraskite 67 eilutes ir priskirkite ypatybei reikšmę: RandomReName = true; Numatytoji reikšmė yra teisinga
Išsaugokite uždarytą failą
2) Atidarykite /Connector/Config.cs failą
Raskite 62 eilutes, pridėkite atributą:
viešas bool RandomReName
{
gauti { returnSettings.ConfigFile.Current.RandomReName; }
}
Išsaugokite uždarytą failą
3) Atidarykite failą /Connector/CommandHandlers/FileUploadCommandHandler.cs
Raskite 64 eilutę ir pridėkite sprendimo kodą:
if ( Config.Current.RandomReName) // Naudokite atsitiktinį pavadinimą
sFileName =DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." +sExtension;
Išsaugokite uždarytą failą 4) Iš naujo sugeneruokite projektą, perrašykite /ckfinder/_source/bin/Debug/CKFinder.dll /ckfinder/bin/Release/CKFinder.dll arba pašalinkite anksčiau pridėtas nuorodas į svetainės projektą ir iš naujo pašalinkite dll iš CKFinder.Net projekto Paskutinis veiksmas: atidarykite /ckfinder/config.ascx Raskite 40 eilučių ir pridėkite atributą: (Tiesą sakant, galite pridėti tai arba ne, nes anksčiau buvo nustatyta numatytoji reikšmė, tačiau naudojant pradinį pavadinimą ji turi būti nustatyta kaip klaidinga)
//上传完毕后使用随机文件名
RandomReName = teisinga;
Įrašyti uždarytą
Gerai, dabar, kai konfigūracija buvo sėkminga, CKEditor gali turėti įkėlimo funkciją. Kitų funkcijų nustatymai bus toliau tiriami, kai turėsite laiko~
Dar vienas priminimas: CKEditor ir CKFinder aplankuose yra daug nereikalingų dalykų, tokių kaip pavadinimai su apatiniais brūkšniais, .net projektams nereikia php, asp.
Jei įkeliant failą įvyko klaida: failo negalima peržiūrėti saugumo sumetimais. Kreipkitės į sistemos administratorių ir patikrinkite CKFinder profilį.
Turite modifikuoti config.ascx failą
viešas nepaisymas bool CheckAuthentication()
{ reture false;
} Pakeista į:
viešas nepaisymas bool CheckAuthentication()
{
Formos tikrinimas returnRequest.IsAuthenticated;
}
3. Taikykite CKEditor valdiklį puslapyje [du metodai, a ir b]
[A: Cituojant INSTALL.html suspaustame pakete]
Jei norite integruoti CKEditor į savo ASP.NET puslapį, atlikite toliau nurodytus veiksmus.
1. Eikite į oficialią CKEditor atsisiuntimo svetainę ir atsisiųskite naujausias CKEditor 3.x ir CKEditor versijas, skirtas ASP.NET valdymui. 2. Išpakuokite abu diegimo paketus į norimą vietą Pašalinkite n. 3. Į savo svetainę pridėkite nuorodą į "CKEditor", skirtą ASP.NET valdymui. "Visual Studio" naudokite komandą Pridėti nuorodą ir naršykite į dėžę\Release\CKEditor.NET.dll failą iš išpakuoto CKEditor ASP.NET skirto diegimo paketui. Taip pat galite rankiniu būdu nukopijuoti DLL failą į programos šiukšliadėžės aplanką. 4. Nukopijuokite išpakuotus redaktoriaus failus iš CKEditor 3.x diegimo paketo ir įklijuokite juos į savo svetainės programų katalogą. 5. Užregistruokite "CKEditor" ASP.NET valdymui savo puslapyje: <%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %> 6. Įterpkite CKEditor egzempliorių į puslapio turinį: <CKEditor:CKEditorControl ID="CKEditor1" runat="server"></CKEditor:CKEditorControl> 【b】
1. <head>Pridėkite atitinkamą js nuorodą į puslapį:
<scrip remove t type="text/javascrip remove t" language="javascrip remove t" src="ckfinder/ckfinder.js"></scrip去掉t> <scrip remove t type="text/javascrip remove t" language="javascrip remove t" src="ckeditor/ckeditor.js"></scrip去掉t> 2. Tada <body>pridėkite šį kodą į vietą, kurioje reikia įdėti valdiklį, ir yra šie naudojimo būdai:
(1) Įtraukti nurodytą klasės atributą į valdiklį <textarea id="textarea1" name="editor1" class="ckeditor">sveiki!</textarea> Serverio valdikliai: <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" CssClass="ckeditor"></asp:TextBox>
(2) Įveskite js kodą - čia js kodą geriausia parašyti po kontrolės arba <head>jame <textarea id="textarea1" name="editor1">sveiki!</textarea> <scrip remove t type="text/javascrip remove t" > CKEDITOR.replace('editor1', { height:400, width:800 }); . .</scrip去掉t> . Serverio valdikliai: <asp:TextBox ID="mckeditor" runat="server" TextMode="MultiLine"></asp:TextBox> <scrip remove t type="text/javascrip remove t" > CKEDITOR.replace('<%=mckeditor. Kliento ID %>'); . .</scrip去掉t> . ============================================================================================================= Antroji nuoroda: asp.net "ckeditor 3.0.1" ir "ckfinder_aspnet_1.4.1.1" konfigūracijos metodą Pagal http://ckeditor.com.cn/docs/ nurodymus, CKEditor yra sukonfigūruotas tinklalapyje, o peržiūrėjus naršyklėje jaučiu, kad CKEditor sąsaja iš tiesų yra labai graži, bet kai mielai norėjau išbandyti vaizdo įkėlimo funkciją, nemačiau mygtuko įkelti vaizdą.
Toliau ieškant internete, padaryta išvada, kad "CKEditor pats neturi įkėlimo funkcijos ir jį reikia integruoti su CKFinder, kad būtų pasiekta įkėlimo funkcija". Tada atsisiųskite CKFinder 1.4.1.1 Asp.net, išpakuokite jį ir įdėkite ckfinder aplanką į šakninį projekto katalogą - nes daugelis šaltinių internete sako, kad geriausia įdėti CKEditor ir CKFinder į to paties lygio katalogą. Ir tokiu būdu savo projekte be jokios priežasties turėsime dar du aplankus. Aš pats turiu kodą švaros fetišas, manau, Palikite aplanką kaip pagarbos autoriui ženklą, to pakaks. Laikydamas du jausčiausi labai nepatogiai.
Prieš integruodami CKFinder į CKEditor, taip pat turime šiek tiek sukonfigūruoti CKFinder. Protingi draugai turėtų lengvai pagalvoti, kad kadangi tai yra failų įkėlimo papildinys, dauguma dalykų, kuriuos reikia sukonfigūruoti, yra failų įkėlimo kelias.
Numatytasis CKFinder įkėlimo kelias yra userfiles aplankas savo kataloge, bet aš įdėjau CKFinder į CKEditor aplanką, jei saugoju vaizdą userfiles, sistema turi apeiti trijų sluoksnių aplanką, kad surastų failą ar vaizdą, todėl planuoju įkelti vaizdą į upFile aplanką šakniniame projekto kataloge. Norėdami įgyvendinti šią funkciją, turite modifikuoti config.ascx failą CKFinder, kad pakeistumėte BaseUrl = "/ckfinder/userfiles/" į BaseUrl = "~/upFile/". Tada iškirpkite CKFinder.dll failus iš aplanko CKFinder/bin į sistemos projekto šiukšliadėžės aplanką. Arba įveskite CKFinder.dll į projektą pridėdami nuorodas. Toliau galime naudoti CKEditor su failų įkėlimu:
Įdėkite CKFinder aplanką į CKEditor aplanką ir puslapyje importuokite abiejų js failus:
<scrip remove tsrc="http://www.cnblogs.com/ckeditor/ckeditor.js" type="text/javascrip remove t"></scrip去掉t>
<scrip remove t src="http://www.cnblogs.com/ckeditor/ckfinder/ckfinder.js" type="text/javascrip remove t"></scrip去掉t> Yra du būdai, kaip nukreipti redaktorių į valdiklį:
Vienas iš jų yra naudoti kliento kontrolės teksto sritį:
<textarea rows="20" cols="40" name="txtContent" id="txtContent"></textarea>
<scrip remove t type="text/javascrip remove t" >
var editor = CKEDITOR.replace('txtContent');
CKFinder.SetupCKEditor(redaktorius, 'http://www.cnblogs.com/ckeditor/ckfinder/');
. .</scrip去掉t> .
Antrasis yra naudoti serverio valdymo teksto laukelį:
<asp:TextBox id="txtContent" TextMode="MultiLine" Text='<%# Bind("info") %>' runat="server"></asp:TextBox>
<scrip remove t type="text/javascrip remove t" >
var editor = CKEDITOR.replace('txtContent');
CKFinder.SetupCKEditor(redaktorius, 'http://www.cnblogs.com/ckeditor/ckfinder/');
</scrip去掉t>Asmeniškai manau, kad kadangi tai yra asp.net programa, naudokite serverio valdiklius. Nors jis veikia šiek tiek lėčiau nei kliento valdikliai, kūrimas yra šiek tiek greitesnis. Ir mes, kaip programuotojai, visada mėgstame išbandyti visas galimybes prieš išsirinkdami mums patinkančią.
Tiesą sakant, valdikliui taip pat galite priskirti reikšmes nenaudodami Text='<%# Bind("info") %>' ir naudoti jį tiesiogiai atgaliniame kode
this.txtContent.Text="Pradinė reikšmė" Tai taip pat įmanoma. Taip pat galite tiesiogiai naudoti šį kodą, kad gautumėte vertę:
CKFinder ir CKEditor kodas. Kai paleidžiu puslapį tiesiogiai su redaktoriumi, kompiliatorius pateikia tokią klaidą:
eilutės turinys=šis.txtTurinys.Tekstas Pastaba: TextMode="MultiLine" atributas yra būtinas, kitaip reikšmė bus nulinė.
Prieš derindamas programą nesupaprastinau
Tipo arba vardų srities pavadinimo "ControlDesigner" vardų srityje "System.Web.UI.Design" nėra (ar trūksta rinkinio nuorodos?)
Klaida yra ckeditor\ckfinder\_source\FileBrowserDesigner.cs 19 eilutėje, todėl tiesiog supaprastinkite failą:
Pirmas žingsnis yra supaprastinti ckeditor: ištrinkite _samples ir _source aplankus, o langų kataloge galima laikyti tik tris kalbų failus: en.js, zh.js ir zh-cn.js;
Antrasis žingsnis yra supaprastinti ckfinder: ištrinkite _samples ir _source aplankus ir lang kataloge laikykite tik en.js, zh.js ir zh-cn.js kalbos failus.
Atkreipkite dėmesį į antrą js kodo eilutę čia: CKFinder.SetupCKEditor(redaktorius, 'http://www.cnblogs.com/ckeditor/ckfinder/'); , kur "http://www.cnblogs.com/ckeditor/ckfinder/" yra santykinis ckfinder kelias į dabartinį puslapį, Nekopijuokite ir neįklijuokite kodo tiesiogiai, kitaip įkeliant vaizdus gali pasirodyti ši klaida:
Aprašymas: HTTP 404. Ieškomas išteklius (arba viena iš jo priklausomybių) gali būti pašalintas, pakeistas jo pavadinimas arba laikinai nepasiekiamas. Patikrinkite šį URL ir įsitikinkite, kad jis parašytas teisingai.
Prašomas URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx
Taigi, jei nenorite įdėti ckfinder į ckeditor aplanką, kaip aš padariau, tai gerai, jei čia teisingai užpildysite kelio pakeitimus.
Maniau, kad tai bus laikoma visu darbu, bet kai įkėliau vaizdą, pasirodė toks raginimas:
Saugumo sumetimais failo peržiūrėti negalima. Kreipkitės į sistemos administratorių ir patikrinkite CKFinder profilį.
Jokiu būdu, kaip sakoma, gerus dalykus sunku valgyti. Galiu tik paklausti geriausio mokytojo - Baidu. Nukopijuokite aukščiau pateiktą raginimo informaciją į Baidu paieškos laukelį, ir įėjęs į automobilį, radau pranešimą apie PHP integracija ckeditor. Štai kaip tai padaryti:
Pakeiskite failą config.ascx dalyje CKFinder, kad pakeistumėte viešosios nepaisymo funkcijos CheckAuthentication() grąžinimo reikšmę iš return false į return true.
Išbandyta dar kartą, vaizdas įkeltas sėkmingai! |