Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 15904|Odgovoriti: 0

[ASP.NET] asp.net uporabite ckeditor_3.6.2+ckfinderckfinder_aspnet_2.1.1 za nastavitev funkcije nalaganja slik

[Kopiraj povezavo]
Objavljeno na 18. 04. 2015 19:11:55 | | |

Najnovejše različice CKEditorja in CKFinderja je mogoče prenesti z uradne spletne strani (http://cksource.com).

Zgornja dva vira postavite v korensko mapo spletne strani: /CKEditor (tukaj v različici 3.6.2 morate mapo _Samples\ckeditor dati v stisnjeno mapo) in /CKFinder (ni občutljivo na velike črke, mapo lahko postavite neposredno tukaj). )

Opomba: tukaj včasih pride do napake v generaciji. Na primer, obstajajo podvojene oznake tipa AssemblyTitle, predvsem zato, ker ima spletna stran več kot en AssemblyInfo.cs za brisanje prenesene datoteke. Ali pa izbriši mapo _source. Če imate kakršnakoli vprašanja tukaj, me lahko kontaktirate: my QQ: 515072775

Uporaba CKEditorja na strani:

<textarea cols="80" id="prcontent" ime="content" vrstice="50"> Pozdravljeni, vaša uporaba je bila uspešna! </textarea>

<scrip odstranite ttype="text/javascrip odstranite t" >

CKEDITOR.replace('content', { height:200, width: 520 });

</scrip去掉t>. . .

CKEditor nima funkcije za nalaganje, zato ga je treba naložiti s CKFinder

Korak 1: Spletna stran mora navajati dll CKFinder (imenik: /CKFinder/bin/Release/CKFinder.dll)

Korak 2: Konfigurirajte config.js CKEditorja (imenik: /CKEditor/config.js) v funkciji CKEDITOR.editorConfig, pri čemer je mogoče odstraniti nepotrebne funkcije


CKEDITOR.editorConfig = function(config) {
config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html'; Ne piši "~/ckfinder/..." ali "/ckfinder/..."
config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html? tip=slike';
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';  Nastavitev velikosti pojavnega okna Browse Server
config.filebrowserWindowHeight = '500';
}
CKFinder.setupCKEditor(null, '.. /ckfinder/'); Upoštevajte, da pot ckfinderja ustreza dejanski postavitvi

Konfiguracija CKFinderja:

Odpri uporabniški nadzor config.ascx pod "ckfinder\" in spremeni njegovo pot do BaseUrl:

BaseUrl = "~/ckfinder/userfiles/"; ali BaseUrl = "ckfinder/userfiles/";





Še ena opomba: uporabno je testirati v IIS. V nasprotnem primeru, če nalaganje ne uspe, boste mislili, da je nekaj narobe s konfiguracijo.

CKEditor ima funkcijo nalaganja po končani konfiguraciji, ampak kaj, če je slikovna datoteka izvirno ime slike in ga želi spremeniti v naključno ime datoteke? Nato poglejte tretji korak.

Korak 3: Spremenite izvorno kodo CKFinderja. CKFinder ima svojo izvorno kodo, imenik: /CKFinde/_source

Ustvarite nov trenutni projekt v VS za CKFinde/_source/CKFinder.Net.sln, rešena datoteka, prenesena tukaj, morda ne bo odprta v VS2008, lahko se odločite za dodajanje novega projekta ali uporabite novejšo različico VS za odpiranje.

1) Odpri datoteko /Settings/ConfigFile.cs

Poiščite 27 vrstic in dodajte atribut: public bool RandomReName; Naključno preimenovanje

Poiščite 67 vrstic in pravkar dodelite vrednost lastnosti: RandomReName = true; Privzeta vrednost je resnična

Shrani zaprto datoteko

2) Odpri datoteko /Connector/Config.cs

Poiščite 62 vrstic, dodajte atribut:

javni bool RandomReName

{

get { returnSettings.ConfigFile.Current.RandomReName; }

}

Shrani zaprto datoteko

3) Odpri datoteko /Connector/CommandHandlers/FileUploadCommandHandler.cs

Poiščite vrstico 64 in dodajte kodo sodbe:

if (Config.Current.RandomReName) // Uporabite naključno ime

sFileName =DateTime.Now.ToString("yyyMMddHHmmssfff") + "." +sExtension;


Shrani zaprto datoteko
4) Ponovno generirati projekt, prepisati /ckfinder/_source/bin/Debug/CKFinder.dll /ckfinder/bin/Release/CKFinder.dll ali odstraniti prej dodane reference na spletni projekt in ponovno odstraniti dll iz CKFinder.Net projekta
Zadnji korak: Odpri /ckfinder/config.ascx
Poiščite 40 vrstic in dodajte atribut: (Pravzaprav lahko to dodate ali ne, ker je bila prej privzeta vrednost nastavljena, vendar mora biti nastavljena na false pri uporabi izvirnega imena)

//上传完毕后使用随机文件名

RandomReName = res;


Shranjevanje zaprto

V redu, zdaj ko je bila konfiguracija uspešna, lahko CKEditor uporabi funkcijo nalaganja. Nastavitve drugih funkcij boste še naprej preučevali, ko boste imeli čas~

Še en opomnik: mapi CKEditor in CKFinder vsebujejo veliko nepotrebnih stvari, kot so imena s podčrtajem, .net projekti ne potrebujejo php ali asp.

Če pride do napake pri nalaganju datoteke: datoteke ni mogoče videti zaradi varnostnih razlogov. Prosimo, kontaktirajte svojega sistemskega administratorja in preverite profil CKFinder.

Datoteko config.ascx morate spremeniti

javna preglasitev bool CheckAuthentication()
{
reture false;
}
Spremenjeno v:

javna preglasitev bool CheckAuthentication()
{

Validacija obrazcev
returnRequest.IsAuthenticated;

}



3. Uporaba CKEditor nadzora na strani [dve metodi, a in b]

[A: Citira INSTALL.html iz stisnjenega paketa]

Če želite CKEditor integrirati s svojo ASP.NET stranjo, sledite spodaj opisanim korakom.

1. Obiščite uradno CKEditor stran za prenos in prenesite najnovejše različice CKEditor 3.x in CKEditor za ASP.NET Control.
2. Razpakirajte oba namestitvena paketa na želeno lokacijo Odstrani n.
3. Dodajte referenco na CKEditor za ASP.NET Control na vašo spletno stran.
     V Visual Studiu uporabite ukaz Dodaj referenco in pobrskajte do datoteke bin\Release\CKEditor.NET.dll iz razpakiranega CKEditorja za ASP.NET namestitveni paket. DLL datoteko lahko tudi ročno kopirate v mapo za bin v svoji aplikaciji.
4. Kopirajte razpakirane urejevalne datoteke iz namestitvenega paketa CKEditor 3.x in jih prilepite v aplikacijsko mapo vaše spletne strani.
5. Registrirajte CKEditor za ASP.NET Control na svoji strani:
<%@ Register Assembly="CKEditor.NET" Imenski prostor="CKEditor.NET" TagPrefix="CKEditor" %>
6. Vstavite primer CKEditorja v telo strani:
<CKEditor:CKEditorControl ID="CKEditor1" runat="server"></CKEditor:CKEditorControl>
【b】

1. <head>Dodajte ustrezno js referenco na stran:

    <scrip odstranite t type="text/javascrip odstranite t" language="javascrip odstranite 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. Nato <body>dodajte naslednjo kodo na lokacijo, kjer je treba postaviti kontrolo, in obstajajo naslednje metode uporabe:

(1) Dodaj določen atribut razreda kontrolnemu sistemu
    <textarea id="textarea1" ime="editor1" class="ckeditor">živjo!</textarea>
Strežniški nadzor:
    <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" CssClass="ckeditor"></asp:TextBox>

(2) Vbrizgaj js kodo – tukaj je js koda najbolje zapisana za kontrolo ali <head>vanj
    <textarea id="textarea1" ime="editor1">živjo!</textarea>
    <scrip remove t type="text/javascrip remove t" >
        CKEDITOR.replace('editor1', { height:400, width:800 });
    </scrip去掉t>. . .
Strežniški nadzor:
    <asp:TextBox ID="mckeditor" runat="server" TextMode="MultiLine"></asp:TextBox>
    <scrip remove t type="text/javascrip remove t" >
        CKEDITOR.replace('<%=mckeditor. ClientID %>');
    </scrip去掉t>. . .
=============================================================================================================
Druga referenca:
asp.net metodo konfiguracije CKEDITOR 3.0.1 in ckfinder_aspnet_1.4.1.1
Po navodilih http://ckeditor.com.cn/docs/ je CKEditor konfiguriran na spletni strani, in ko si ga ogledam v brskalniku, se mi zdi, da je vmesnik CKEditorja res zelo lep, vendar ko sem z veseljem želel preizkusiti funkcijo nalaganja slike, nisem videl gumba za nalaganje slike.

Nadaljevanje iskanja na spletu je bilo ugotovljeno, da "CKEditor sam nima funkcije za nalaganje in mora biti integriran s CKFinderjem, da doseže funkcijo nalaganja".
Nato prenesite CKFinder 1.4.1.1 za Asp.net, ga razpakirajte in mapo ckfinder postavite v korensko mapo projekta – ker veliko virov na internetu pravi, da je najbolje CKEditor in CKFinder dati v isto mapo nivojev. In na ta način bomo imeli dve dodatni mapi v našem projektu brez razloga. Sam imam obsedenost s čistostjo kode, mislim,
Pustite mapo kot znak spoštovanja do avtorja, to bo dovolj. Če bi imel dva, bi se počutil zelo nelagodno.


Preden integriramo CKFinder v CKEditor, ga moramo tudi nekoliko konfigurirati. Pametni prijatelji bi zlahka pomislili, da ker gre za vtičnik za nalaganje datotek, je večina stvari, ki jih je treba konfigurirati, pot za nalaganje datotek.

Privzeta pot za nalaganje v CKFinder je mapa uporabniških datotek v svoji mapi, vendar sem CKFinder postavil v mapo CKEditor; če sliko shranim v uporabniške datoteke, mora sistem zaobiti triplastno mapo, da najde datoteko ali sliko, zato nameravam sliko naložiti v mapo upFile v korenski mapi projekta.
Za izvedbo te funkcije morate spremeniti datoteko config.ascx pod CKFinder, da spremenite BaseUrl = "/ckfinder/userfiles/" v BaseUrl = "~/upFile/". Nato izrežite CKFinder.dll datoteke iz mape CKFinder/bin v mapo bin sistemskega projekta. Ali pa CKFinder.dll vključite v projekt z dodajanjem referenc.
Nato lahko uporabimo CKEditor za nalaganje datotek:

Mapo CKFinder vstavite v mapo CKEditor in na stran uvozite js datoteke obeh:

<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>
Obstajata dva načina za referenco urejevalnika na kontrolo:

Ena je uporaba besedilnega območja za nadzor odjemalca:

<textarea vrstice="20" cols="40" ime="txtContent" id="txtContent"></textarea>

<scrip remove t type="text/javascrip remove t" >

var editor = CKEDITOR.replace('txtContent');

CKFinder.SetupCKEditor(urednik, 'http://www.cnblogs.com/ckeditor/ckfinder/');

</scrip去掉t>. . .

Druga možnost je uporaba besedilnega polja za nadzor na strežniški strani:

<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(urednik, 'http://www.cnblogs.com/ckeditor/ckfinder/');

</scrip去掉t>Osebno mislim, da ker gre za asp.net program, potem uporabite strežniške kontrole. Čeprav deluje nekoliko počasneje kot odjemalčeve kontrole, je razvoj nekoliko hitrejši. In kot programerji vedno radi preizkusimo vse možnosti, preden izberemo tisto, ki nam je všeč.

Pravzaprav lahko kontrolniku dodelite vrednosti tudi brez Text='<%# Bind("info") %>', in ga uporabite neposredno v backkodi

this.txtContent.Text="Začetna vrednost"
    Možno je tudi. Za pridobitev vrednosti lahko uporabite tudi neposredno naslednjo kodo:

CKFinder in CKEditor koda. Ko stran zaženem neposredno z urejevalnikom, prevajalnik pokaže naslednjo napako:

string content=this.txtContent.Text
    Opomba: Atribut TextMode="MultiLine" je bistven, sicer bo vrednost ničelna.

Nisem poenostavil programa, preden sem začel odpravljati napake

Ime tipa ali imenskega prostora "ControlDesigner" ne obstaja v imenskem prostoru "System.Web.UI.Design" (ali manjka referenca na asembler?)

Napaka je v vrstici 19 v ckeditor\ckfinder\_source\FileBrowserDesigner.cs, zato preprosto poenostavite datoteko:

Prvi korak je poenostavitev ckeditorja: izbrišite mape _samples in _source, pri čemer je mogoče v mapi lang shraniti le tri jezikovne datoteke: en.js, zh.js in zh-cn.js;

Drugi korak je poenostavitev ckfinderja: izbrišite mapi _samples in _source ter v mapi lang hranite le datoteke en.js, zh.js in zh-cn.js jezika.

Opazujte drugo vrstico js kode tukaj: CKFinder.SetupCKEditor(editor, 'http://www.cnblogs.com/ckeditor/ckfinder/'); , kjer je "http://www.cnblogs.com/ckeditor/ckfinder/" relativna pot Ckfinderja do trenutne strani,
Prosimo, ne kopirajte in ne lepite kode neposredno, sicer se lahko pri nalaganju slik pojavi naslednja napaka:

Opis: HTTP 404. Vir, ki ga iščete (ali ena od njegovih odvisnosti), je morda odstranjen, ali se je spremenilo njegovo ime, ali pa je začasno nedosegljiv. Prosimo, preverite naslednji URL in se prepričajte, da je pravilno napisan.

Zahtevani URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx

Torej, če ne želite dati ckfinderja v mapo ckeditor, kot sem jaz, je to v redu, dokler pravilno izpolnite spremembe poti tukaj.

Mislil sem, da bo to vse delo, a ko sem naložil sliko, se je pojavil naslednji poziv:

Zaradi varnostnih razlogov datoteke ni mogoče pregledati. Prosimo, kontaktirajte svojega sistemskega administratorja in preverite profil CKFinder.

Ni mogoče, kot pravi pregovor, da je dobre stvari težko jesti. Lahko vprašam samo najboljšega učitelja - Baidu. Kopiraj zgornje informacije iz poziva v iskalno polje Baidu in ko sem vstopil v avto, sem našel objavo o integraciji PHP v ckeditorju. Tukaj je, kako to narediti:

Spremenite datoteko config.ascx pod CKFinder, da spremenite povratno vrednost funkcije javnega preglasitve bool CheckAuthentication() iz return false v return true.

Ponovno sem testiral in slika je bila uspešno naložena!

Partitura

Število udeležencev1MB+2 prispevati+2 Propad razlog
whoami + 2 + 2 Zelo močno!

Oglejte si vse ocene





Prejšnji:asp.net Space Bind Bind Database
Naslednji:Kako uporabim kodo, da v Asp.Net ne omogočim nadzora za avtentikacijo?
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com