CKEditori ja CKFinderi uusimad versioonid on allalaaditavad ametlikult veebilehelt (http://cksource.com).
Pane ülaltoodud kaks ressurssi veebilehe juurkausta: /CKEditor (siin versioonis 3.6.2 pead panema _Samples\ckeditor kausta tihendatud kausta) ja /CKFinder (tähetundlik, võid kausta siia otse panna). )
Pane tähele, et siin esineb mõnikord generatsioonis viga. Näiteks on olemas topelt-AssemblyTitle tüüpi sildid, peamiselt seetõttu, et veebilehel on rohkem kui üks AssemblyInfo.cs allalaaditud faili kustutamiseks. Või kustuta kausta _source. Kui sul siin küsimusi on, võid minuga ühendust võtta: minu QQ: 515072775
CKEditori kasutamine lehel:
<textarea cols="80" id="prcontent" name="content" rows="50"> Tere, teie kasutus õnnestus! </textarea>
<scrip eemalda ttype="text/javascrip eemalda t" >
CKEDITOR.replace('content', { kõrgus:200, laius: 520 });
. .</scrip去掉t>
CKEditoril puudub üleslaadimisfunktsioon, seega tuleb see üles laadida CKFinderiga
1. samm: Veebileht peab viitama CKFinderi dll-ile (kataloog: /CKFinder/bin/Release/CKFinder.dll)
2. samm: Seadista CKEditori config.js (kataloog: /CKEditor/config.js) funktsioonis CKEDITOR.editorConfig ning tarbetud funktsioonid saab eemaldada
CKEDITOR.editorConfig = function(config) { config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html'; Ära kirjuta "~/ckfinder/..." või "/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'; Sirvimisserveri hüpikakna suuruse seadistus config.filebrowserWindowHeight = '500';
} CKFinder.setupCKEditor(null, '.. /ckfinder/'); Pane tähele, et otsija tee vastab tegelikule paigutusele
CKFinderi konfiguratsioon:
Ava kasutaja kontrolli config.ascx alt "ckfinder\" ja muuda selle BaseUrl tee:
BaseUrl = "~/ckfinder/userfiles/"; või BaseUrl = "ckfinder/userfiles/";
Siin on lisapunkt: IIS-is on kasulik testida. Vastasel juhul, kui üleslaadimine ebaõnnestub, arvad, et konfiguratsioonis on midagi valesti.
CKEditoril on üleslaadimisfunktsioon pärast seadistamise lõpetamist, aga mis siis, kui pildifail on algne pildinimi ja tahab selle juhuslikuks failinimeks muuta? Siis vaata kolmandat sammu.
3. samm: Muuda CKFinderi lähtekoodi. CKFinderil on oma lähtekood, kataloog: /CKFinde/_source
Loo VS-is uus praegune projekt CKFinde/_source/CKFinder.Net.sln jaoks, siit alla laaditud lahendusfail ei pruugi VS2008-s avaneda, saad valida uue projekti lisamise või uue VS versiooni avamiseks.
1) Ava fail /Settings/ConfigFile.cs
Leia 27 rida ja lisa atribuut: public bool RandomReName; Nimeta juhuslikult ümber
Leia 67 rida ja määra omadusele väärtus just praegu: RandomReName = true; Vaikimisi väärtus on tõene
Salvesta suletud fail
2) Avage /Connector/Config.cs fail
Leia 62 rida, lisa atribuut:
public bool RandomReName
{
get { returnSettings.ConfigFile.Current.RandomReName; }
}
Salvesta suletud fail
3) Ava fail /Connector/CommandHandlers/FileUploadCommandHandler.cs
Leia rida 64 ja lisa kohtuotsuse kood:
if ( Config.Current.RandomReName) // Kasuta juhuslikku nime
sFileName =DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." +sExtension;
Salvesta suletud fail 4) Genereeri projekt uuesti, kirjuta /ckfinder/_source/bin/Debug/CKFinder.dll /ckfinder/bin/Release/CKFinder.dll või eemalda eelnevalt lisatud viited veebilehe projektile ja eemalda DLL uuesti CKFinder.Net projektist Viimane samm: ava /ckfinder/config.ascx Leia 40 rida ja lisa atribuut: (Tegelikult võid selle lisada või mitte, sest varem oli vaikimisi väärtus, kuid algse nime kasutamisel peab see olema väär)
//上传完毕后使用随机文件名
RandomReName = tõene;
Salvestus suletud
Nüüd, kui konfiguratsioon on õnnestunud, saab CKEditoril olla üleslaadimisfunktsioon. Teiste funktsioonide seadistusi jätkatakse uurimist, kui aega on~
Veel üks meeldetuletus: CKEditori ja CKFinderi kaustades on palju tarbetuid asju, näiteks nimed allkriipsudega, .net projektid ei vaja php, asp.
Kui faili üleslaadimisel tekib viga: faili ei saa turvakaalutlustel vaadata. Palun võtke ühendust oma süsteemiadministraatoriga ja kontrollige CKFinderi profiili.
Pead muutma config.ascx faili
public override bool CheckAuthentication()
{ reture vale;
} Muudetud kujul:
public override bool CheckAuthentication()
{
Vormi valideerimine returnRequest.IsAuthenticated;
}
3. Rakenda CKEditori juhtimine lehel [kaks meetodit, a ja b]
[A: Tsitaat tihendatud pakendis olevast INSTALL.html ]
Kui soovid integreerida CKEditori oma ASP.NET lehega, järgi allpool toodud samme.
1. Mine ametlikule CKEditori allalaadimislehele ja laadi alla nii CKEditor 3.x kui ka CKEditor uusimad versioonid ASP.NET Control jaoks. 2. Lahtipakkige mõlemad paigalduspaketid soovitud asukohta Eemalda n. 3. Lisa oma veebilehele viide CKEditorile ASP.NET Controli jaoks. Visual Studios kasuta käsku Add Reference ja sirvi bin\Release\CKEditor.NET.dll faili lahtipakkimata CKEditorist ASP.NET paigalduspaketi jaoks. Saad ka käsitsi kopeerida DLL-faili oma rakenduse kastikausta. 4. Kopeeri lahtipakkimata redaktorifailid CKEditor 3.x paigalduspaketist ja kleebi need oma veebilehe rakenduste kataloogi. 5. Registreeri CKEditor ASP.NET Control jaoks oma lehel: <%@ Register Assembly="CKEditor.NET" namespace="CKEditor.NET" TagPrefix="CKEditor" %> 6. Sisesta CKEditori instants lehe kehasse: <CKEditor:CKEditorControl ID="CKEditor1" runat="server"></CKEditor:CKEditorControl> 【b】
1. <head>Lisa lehele vastav js-viide:
<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>Seejärel lisa järgmine kood asukohta, kuhu kontroll tuleb paigutada, ning seal on järgmised kasutusviisid:
(1) Lisa määratud klassi atribuut kontrollile <textarea id="textarea1" name="editor1" class="ckeditor">tere!</textarea> Serveri juhtimine: <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" CssClass="ckeditor"></asp:TextBox>
(2) Js-koodi süstimine – siin on js-kood kõige parem kirjutada pärast juhtimist või <head>selles <textarea id="textarea1" name="editor1">tere!</textarea> <scrip eemalda t type="text/javascrip remove t" > CKEDITOR.replace('editor1', { height:400, width:800 }); . .</scrip去掉t> Serveri juhtimine: <asp:TextBox ID="mckeditor" runat="server" TextMode="MultiLine"></asp:TextBox> <scrip eemalda t type="text/javascrip remove t" > CKEDITOR.replace('<%=mckeditor. ClientID %>'); . .</scrip去掉t> ============================================================================================================= Teine viide: asp.net ckeditor 3.0.1 ja ckfinder_aspnet_1.4.1.1 konfiguratsioonimeetod http://ckeditor.com.cn/docs/ juhiste kohaselt on CKEditor veebilehel seadistatud ja brauseris vaadates tundub CKEditori liides tõepoolest väga ilus, kuid kui tahtsin rõõmuga proovida pildi üleslaadimise funktsiooni, ei näinud ma nuppu pildi üleslaadimiseks.
Jätkates internetis otsimist, jõudis järeldusele, et "CKEditoril endal ei ole üleslaadimisfunktsiooni ja see tuleb integreerida CKFinderiga, et saavutada üleslaadimisfunktsioon". Seejärel laadi alla CKFinder 1.4.1.1 Asp.net jaoks, paki see lahti ja pane ckfinder kaust projekti juurkataloosse – sest paljud internetiallikad ütlevad, et parim on panna CKEditor ja CKFinder samasse taseme kataloogi. Nii on meil projektis veel kaks kausta ilma põhjuseta. Mul endal on koodi puhtuse fetiš, ma arvan, Jäta kaust austuse märgiks autori vastu, sellest piisab. Kahe hoidmine teeks mind väga ebamugavaks.
Enne kui integreerime CKFinderi CKEditorisse, peame ka CKFinderit veidi seadistama. Targad sõbrad arvavad kergesti, et kuna tegemist on pluginaga failide üleslaadimiseks, siis enamik asju, mida tuleb seadistada, on failide üleslaadimise tee.
CKFinderi vaikimisi üleslaadimistee on userfiles kaust omaette kaustas, kuid olen pannud CKFinderi CKEditori kausta, kui salvestan pildi userfile'idesse, peab süsteem kolmekihilise kausta vahele jätma, et fail või pilt leida, seega plaanin pildi üles laadida projekti juurkaustas olevasse upFile kausta. Selle funktsiooni rakendamiseks tuleb muuta config.ascx faili CKFinderi all, muutes BaseUrl = "/ckfinder/userfiles/" BaseUrl = "~/upFile/". Seejärel lõika CKFinder.dll failid CKFinder/bin kaustast süsteemiprojekti bin kausta. Või lisada CKFinder.dll projekti, lisades viiteid. Järgmisena saame kasutada CKEditorit failide üleslaadimisega:
Pane CKFinder kaust CKEditor kausta ja impordi lehel mõlema js-failid:
<scrip eemalda tsrc="http://www.cnblogs.com/ckeditor/ckeditor.js" type="text/javascrip eemalda t"></scrip去掉t>
<scrip eemalda t src="http://www.cnblogs.com/ckeditor/ckfinder/ckfinder.js" type="text/javascrip eemalda t"></scrip去掉t> On kaks võimalust, kuidas toimetajale juhtimisele viidata:
Üks on kasutada kliendi juhtimise tekstiala:
<textarea read="20" cols="40" name="txtContent" id="txtContent"></textarea>
<scrip eemalda t type="text/javascrip remove t" >
var editor = CKEDITOR.replace('txtContent');
CKFinder.SetupCKEditor(redaktor, 'http://www.cnblogs.com/ckeditor/ckfinder/');
. .</scrip去掉t>
Teiseks tuleb kasutada serveripoolset juhttekstikasti:
<asp:TextBox id="txtContent" TextMode="MultiLine" Text='<%# Bind("info") %>' runat="server"></asp:TextBox>
<scrip eemalda t type="text/javascrip remove t" >
var editor = CKEDITOR.replace('txtContent');
CKFinder.SetupCKEditor(redaktor, 'http://www.cnblogs.com/ckeditor/ckfinder/');
</scrip去掉t>Isiklikult arvan, et kuna tegemist on asp.net programmiga, siis kasuta serveripoolseid juhtnuppe. Kuigi see töötab veidi aeglasemalt kui kliendi juhtimine, on arendus veidi kiirem. Ja programmeerijatena meeldib meile alati proovida kõiki võimalusi enne, kui valime selle, mis meile meeldib.
Tegelikult saab kontrollile väärtusi määrata ka ilma Text='<%# Bind("info") %>' kasutamata ja kasutada seda otse tagakoodis
this.txtContent.Text="Algväärtus" See on ka võimalik. Saad ka järgmist koodi otse väärtuse saamiseks:
CKFinder ja CKEditor kood. Kui käivitan lehe otse redaktoriga, annab kompilaator järgmise vea:
string content=this.txtContent.Text Märkus: TextMode="MultiLine" atribuut on hädavajalik, vastasel juhul on väärtus null.
Ma ei lihtsustanud enne programmi silumist
Tüübi- või nimeruumi nimi "ControlDesigner" ei eksisteeri nimeruumis "System.Web.UI.Design" (kas puudub assembleri viide?)
Viga on ckeditor\ckfinder\_source\FileBrowserDesigner.cs 19. real, seega lihtsusta faili lihtsalt:
Esimene samm on ckeditori lihtsustamine: kustutada _samples ja _source kaustad ning keelekaustas saab hoida ainult kolme keelefaili: en.js, zh.js ja zh-cn.js;
Teine samm on ckfinderi lihtsustamine: kustuta _samples ja _source kaustad ning jäta keelekaustas ainult en.js, zh.js ja zh-cn.js keelefailid.
Pane tähele teist js-koodi rida siin: CKFinder.SetupCKEditor(redaktor, 'http://www.cnblogs.com/ckeditor/ckfinder/'); , kus "http://www.cnblogs.com/ckeditor/ckfinder/" on ckfinderi suhteline tee praegusele lehele, Palun ärge kopeerige ja kleepige koodi otse, vastasel juhul võib piltide üleslaadimisel ilmneda järgmine viga:
Kirjeldus: HTTP 404. Otsitav ressurss (või üks selle sõltuvustest) võib olla eemaldatud, selle nimi on muutunud või see on ajutiselt kättesaamatu. Palun kontrollige järgmist URL-i ja veenduge, et see on õigesti kirjutatud.
Taotletud URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx
Nii et kui sa ei taha panna ckfinderit ckeditori kausta nagu mina tegin, on see okei, kui täidad siin õigesti tee muudatused.
Arvasin, et see loetakse kogu tööks, kuid kui pildi üles laadisin, ilmus välja järgmine käsk:
Turvalisuse kaalutlustel ei saa faili vaadata. Palun võtke ühendust oma süsteemiadministraatoriga ja kontrollige CKFinderi profiili.
Nagu öeldakse, pole mingit võimalust, et head asjad on rasked süüa. Ma saan küsida ainult parimalt õpetajalt – Baidult. Kopeerisin ülaltoodud info Baidu otsingukasti ja pärast autosse sisenemist leidsin postituse PHP integratsiooni ckeditori kohta. Siin on, kuidas seda teha:
Muuda config.ascx faili CKFinderis nii, et avaliku ülekirjutuse bool CheckAuthentication() funktsiooni tagastusväärtus muutub false väärtusest return true'ks.
Testisin uuesti, pilt laaditi edukalt üles! |