Uusimmat CKEditor- ja CKFinder-versiot voi ladata virallisilta verkkosivuilta (http://cksource.com).
Laita yllä mainitut kaksi resurssia verkkosivuston juurihakemistoon: /CKEditor (tässä versiossa 3.6.2 sinun täytyy laittaa _Samples\ckeditor-kansio pakattuun kansioon) ja /CKFinder (kirjainkoon ei merkitse, voit laittaa kansion suoraan tähän). )
Huomaa, että tässä on joskus virhe generoinnissa. Esimerkiksi on olemassa päällekkäisiä AssemblyTitle-tyyppisiä tunnisteita, pääasiassa siksi, että sivustolla on useampi kuin yksi AssemblyInfo.cs ladatun tiedoston poistamiseen. Tai poista kansio _source. Jos sinulla on kysyttävää, voit ottaa minuun yhteyttä: QQ: 515072775
CKEditorin käyttö sivulla:
<textarea cols="80" id="prcontent" name="content" rows="50"> Hei, käyttösi onnistui! </textarea>
<scrip remove ttype="text/javascrip remove t" >
CKEDITOR.replace('content', { height:200, width: 520 });
. .</scrip去掉t>
CKEditorissa ei ole lataustoimintoa, joten se täytyy ladata CKFinderillä
Vaihe 1: Verkkosivuston täytyy viitata CKFinderin dll-tiedostoon (hakemisto: /CKFinder/bin/Release/CKFinder.dll)
Vaihe 2: Määritä CKEditorin config.js (hakemisto: /CKEditor/config.js) CKEDITOR.editorConfig-funktiossa, niin tarpeettomat toiminnot voidaan poistaa
CKEDITOR.editorConfig = function(config) { config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html'; Älä kirjoita "~/ckfinder/..." tai "/ckfinder/..." config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html? Type=Images'; config.filebrowserFlashBrowseUrl = 'ckfinder/ckfinder.html? Type=Flash'; 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'; Selauspalvelimen ponnahdusikkunan kokoasetus config.filebrowserWindowHeight = '500';
} CKFinder.setupCKEditor(null, '.. /ckfinder/'); Huomaa, että ckfinderin polku vastaa todellista sijoitusta
CKFinderin kokoonpano:
Avaa käyttäjän hallinta config.ascx kohdasta "ckfinder\" ja muuta sen BaseUrl-polku:
BaseUrl = "~/ckfinder/userfiles/"; tai BaseUrl = "ckfinder/userfiles/";
Tässä lisähuomio: on hyödyllistä testata IIS:ssä. Muuten, jos lataus epäonnistuu, ajattelet, että kokoonpanossa on jotain vikaa.
CKEditorissa on lataustoiminto konfiguroinnin jälkeen, mutta entä jos kuvatiedosto on alkuperäinen kuvanimi ja haluaa muuttaa sen satunnaiseksi tiedostonimeksi? Sitten katso kolmatta vaihetta.
Vaihe 3: Muokkaa CKFinderin lähdekoodia. CKFinderillä on oma lähdekoodinsa, hakemisto: /CKFinde/_source
Luo uusi nykyinen projekti VS:ssä CKFinde/_source/CKFinder.Net.sln-versioon, täällä ladattu ratkaisutiedosto ei välttämättä avaudu VS2008:ssa, voit valita uuden projektin lisäämisen tai käyttää uudempaa VS-versiota avaamiseen.
1) Avaa /Settings/ConfigFile.cs-tiedosto
Etsi 27 riviä ja lisää attribuutti: public bool RandomReName; Nimeä satunnaisesti uudelleen
Etsi 67 riviä ja anna ominaisuudelle arvo juuri nyt: RandomReName = true; Oletusarvo on tosi
Tallenna suljettu tiedosto
2) Avaa /Connector/Config.cs-tiedosto
Etsi 62 riviä ja lisää attribuutti:
public bool RandomReName
{
get { returnSettings.ConfigFile.Current.RandomReName; }
}
Tallenna suljettu tiedosto
3) Avaa /Connector/CommandHandlers/FileUploadCommandHandler.cs-tiedosto
Etsi rivi 64 ja lisää tuomiokoodi:
if ( Config.Current.RandomReName) // Käytä satunnaista nimeä
sFileName =DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." +sLaajennus;
Tallenna suljettu tiedosto 4) Generoi projekti uudelleen, korvaa /ckfinder/_source/bin/Debug/CKFinder.dll /ckfinder/bin/Release/CKFinder.dll tai poistaa aiemmin lisätyt viittaukset verkkosivustoprojektiin ja poistaa dll uudelleen CKFinder.Net-projektista Viimeinen vaihe: Avaa /ckfinder/config.ascx Etsi 40 riviä ja lisää attribuutti: (Itse asiassa voit lisätä tämän tai et, koska aiemmin oli asetettu oletusarvo, mutta alkuperäistä nimeä käyttäessä se täytyy asettaa vääriksi)
//上传完毕后使用随机文件名
RandomReName = totta;
Tallennus suljettu
Nyt kun konfigurointi on onnistunut, CKEditorilla voi olla lataustoiminto. Muiden funktioiden asetuksia tutkitaan edelleen, kun aikaa riittää~
Vielä muistutus: CKEditor- ja CKFinder-kansioissa on paljon tarpeettomia asioita, kuten nimet ja alleviivat, .net-projekteissa ei tarvitse php:tä, asp:tä.
Jos tiedoston lataamisessa ilmenee virhe: Tiedostoa ei voi nähdä turvallisuussyistä. Ota yhteyttä järjestelmänvalvojaasi ja tarkista CKFinderin profiili.
Sinun täytyy muokata config.ascx-tiedostoa
public override bool CheckAuthentication()
{ reture väärä;
} Muokattu:
public override bool CheckAuthentication()
{
Lomakkeen validointi returnRequest.IsAuthenticated;
}
3. Käytä CKEditor-ohjausta sivulla [kaksi metodia, a ja b]
[A: Siteerataan INSTALL.html pakatussa paketissa]
Jos haluat integroida CKEditorin ASP.NET-sivullesi, noudata alla esitettyjä ohjeita.
1. Mene viralliselle CKEditor-lataussivustolle ja lataa sekä CKEditorin 3.x:n että CKEditorin uusimmat versiot ASP.NET Control -käyttöön. 2. Pura molemmat asennuspaketit haluttuun paikkaan. Poista n. 3. Lisää viittaus CKEditoriin ASP.NET Control -sivustollesi. Visual Studiossa käytä Add Reference -komentoa ja selaa bin\Release\CKEditor.NET.dll-tiedostoa unpackatusta CKEditorista ASP.NET asennuspaketista. Voit myös kopioida DLL-tiedoston manuaalisesti sovelluksen bin-kansioon. 4. Kopioi purkamattomat editoritiedostot CKEditor 3.x -asennuspaketista ja liitä ne verkkosivustosi sovellushakemistoon. 5. Rekisteröi CKEditorin ASP.NET Control -sivustollasi: <%@ Register Assembly="CKEditor.NET" nimiavaruus="CKEditor.NET" TagPrefix="CKEditor" %> 6. Lisää CKEditor-instanssi sivun runkoon: <CKEditor:CKEditorControl ID="CKEditor1" runat="server"></CKEditor:CKEditorControl> 【b】
1. <head>Lisää vastaava js-viittaus sivulle:
<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. <body>Lisää seuraava koodi siihen kohtaan, johon ohjaus pitää sijoittaa, ja käytössä on seuraavat käyttötavat:
(1) Lisää määritelty luokkaattribuutti kontrolliin <textarea id="textarea1" name="editor1" class="ckeditor">hei!</textarea> Palvelimen ohjaus: <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" CssClass="ckeditor"></asp:TextBox>
(2) Injektoi js-koodi – tässä js-koodi on parasta kirjoittaa kontrollin jälkeen tai <head>siihen <textarea id="textarea1" name="editor1">hei!</textarea> <scrip remove t type="text/javascrip remove t" > CKEDITOR.replace('editor1', { height:400, width:800}); . .</scrip去掉t> Palvelimen ohjaus: <asp:TextBox ID="mckeditor" runat="server" TextMode="MultiLine"></asp:TextBox> <scrip remove t type="text/javascrip remove t" > CKEDITOR.replace('<%=mckeditor. ClientID %>'); . .</scrip去掉t> ============================================================================================================= Toinen viittaus: asp.net ckeditor 3.0.1:n ja ckfinder_aspnet_1.4.1.1:n konfigurointimenetelmä http://ckeditor.com.cn/docs/ ohjeiden mukaan CKEditor on konfiguroitu verkkosivulla, ja kun sitä katsotaan selaimessa, koen CKEditorin käyttöliittymän todella kauniiksi, mutta kun halusin mielelläni kokeilla kuvien lataustoimintoa, en nähnyt kuvan lataamiseen tarkoitettua painiketta.
Jatkaessani verkkohakuja päädyimme johtopäätökseen, että "CKEditorilla ei ole itse lataustoimintoa, ja se täytyy integroida CKFinderin kanssa lataustoiminnon saavuttamiseksi". Lataa sitten CKFinder 1.4.1.1 for Asp.net, avaa se ja laita ckfinder-kansio projektin juurihakemistoon – koska monet internetin lähteet sanovat, että on parasta laittaa CKEditor ja CKFinder samaan tasohakemistoon. Näin meillä on projektiimme kaksi kansiota lisää ilman syytä. Minulla itselläni on koodin puhtausfetissi, luulen, Jätä kansio kunnioituksen merkiksi kirjoittajaa kohtaan, se riittää. Kahden pitäminen saisi minut tuntemaan oloni todella epämukavaksi.
Ennen kuin integroimme CKFinderin CKEditoriin, meidän täytyy myös konfiguroida CKFinder hieman. Fiksut ystävät varmasti ajattelevat, että koska kyseessä on tiedostojen lataamiseen tarkoitettu lisäosa, suurin osa konfiguroitavista asioista on reitti tiedostojen lataamiseen.
CKFinderin oletuslatauspolku on userfiles-kansio omassa hakemistossaan, mutta olen laittanut CKFinderin CKEditor-kansioon, ja jos tallennan kuvan userfileihin, järjestelmän täytyy ohittaa kolmikerroksinen kansio löytääkseen tiedoston tai kuvan, joten aion ladata kuvan upFile-kansioon projektin juurihakemistossa. Tämän toiminnon toteuttamiseksi sinun täytyy muokata config.ascx-tiedostoa CKFinderissä muuttamaan BaseUrl = "/ckfinder/userfiles/" muotoon BaseUrl = "~/upFile/". Sitten leikkaa CKFinder.dll tiedostot CKFinder/bin-kansiosta järjestelmäprojektin bin-kansioon. Tai tuo CKFinder.dll mukaan projektiin lisäämällä viitteitä. Seuraavaksi voimme käyttää CKEditoria tiedostojen latauksessa:
Laita CKFinder-kansio CKEditor-kansioon ja tuo sivulle molempien js-tiedostot:
<scrip poista tsrc="http://www.cnblogs.com/ckeditor/ckeditor.js" type="text/javascrip poista t"></scrip去掉t>
<scrip poista t src="http://www.cnblogs.com/ckeditor/ckfinder/ckfinder.js" type="text/javascrip poista t"></scrip去掉t> Editoriin voi viitata kontrolliin kahdella tavalla:
Yksi on käyttää asiakkaan ohjaustekstialuetta:
<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(editointi, 'http://www.cnblogs.com/ckeditor/ckfinder/');
. .</scrip去掉t>
Toinen on käyttää palvelinpuolen ohjaustekstikenttää:
<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(editointi, 'http://www.cnblogs.com/ckeditor/ckfinder/');
</scrip去掉t>Itse ajattelen, että koska kyseessä on asp.net ohjelma, käytä palvelinpuolen ohjaimia. Vaikka se toimii hieman hitaammin kuin asiakasohjaukset, kehitys on hieman nopeampaa. Ja ohjelmoijina haluamme aina kokeilla kaikkia mahdollisuuksia ennen kuin valitsemme sen, josta pidämme.
Itse asiassa voit myös määrittää arvoja ohjaimelle ilman Text='<%# Bind("info") %>' ja käyttää sitä suoraan takakoodissa
this.txtContent.Text="Alkuarvo" Se on myös mahdollista. Voit myös käyttää seuraavaa koodia suoraan saadaksesi arvon:
CKFinder- ja CKEditor-koodi. Kun ajan sivun suoraan editorilla, kääntäjä antaa seuraavan virheen:
string content=this.txtContent.Text Huomautus: TextMode="MultiLine"-attribuutti on välttämätön, muuten arvo on nolla.
En virtaviivaistanut ennen ohjelman virheenkorjausta
Tyyppi- tai nimiavaruuden nimi "ControlDesigner" ei ole olemassa nimiavaruudessa "System.Web.UI.Design" (puuttuuko siitä assembler-viittaus?)
Virhe on ckeditor\ckfinder\_source\FileBrowserDesigner.cs:n rivillä 19, joten yksinkertaista tiedostoa:
Ensimmäinen askel on virtaviivaistaa ckeditoria: poista _samples- ja _source-kansiot, ja kielikansiossa voi säilyttää vain kolme kielitiedostoa: en.js, zh.js ja zh-cn.js;
Toinen vaihe on virtaviivaistaa ckfinder: poista _samples- ja _source-kansiot ja pidä kielihakemistossa vain en.js-, zh.js- ja zh-cn.js-kielitiedostot.
Huomaa js-koodin toinen rivi tässä: CKFinder.SetupCKEditor(editor, 'http://www.cnblogs.com/ckeditor/ckfinder/'); , missä "http://www.cnblogs.com/ckeditor/ckfinder/" on ckfinderin suhteellinen polku nykyiselle sivulle, Älä kopioi ja liitä koodia suoraan, muuten kuvia lataessa voi ilmestyä seuraava virhe:
Kuvaus: HTTP 404. Etsimäsi resurssi (tai jokin sen riippuvuusalueista) on saatettu poistaa, sen nimi on muuttunut tai se on tilapäisesti poissa käytöstä. Tarkista seuraava URL ja varmista, että se on oikein kirjoitettu.
Pyydetty URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx
Joten, jos et halua laittaa ckfinderia ckeditor-kansioon kuten minä tein, se on ihan ok, kunhan täytät polun muutokset oikein tähän.
Luulin, että tämä katsottaisiin kaikesta työstä, mutta kun latasin kuvan, ilmestyi seuraava kehote:
Turvallisuussyistä tiedostoa ei voi katsoa. Ota yhteyttä järjestelmänvalvojaasi ja tarkista CKFinderin profiili.
Ei ole mahdollista, kuten sanonta kuuluu, hyvät asiat ovat vaikeita syödä. Voin kysyä vain parhaalta opettajalta – Baidulta. Kopioin yllä olevat kehotteet Baidu-hakukenttään, ja kun astuin autoon, löysin postauksen PHP-integraatiosta (ck editor). Näin se tehdään:
Muokkaa config.ascx-tiedostoa CKFinderissä niin, että julkisen ohituksen bool CheckAuthentication() -funktion palautusarvo muuttuu palautusarvosta false palautusarvoksi palautus trueksi.
Testasin uudelleen, kuva latautuu onnistuneesti! |