Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 15904|Válasz: 0

[ASP.NET] asp.net ckeditor_3.6.2+ckfinderckfinder_aspnet_2.1.1 formátumot használunk a képfeltöltési funkció beállításához

[Linket másol]
Közzétéve 2015. 04. 18. 19:11:55 | | |

A CKEditor és CKFinder legújabb verziói letölthetők a hivatalos weboldalról (http://cksource.com).

Tedd a fenti két forrást a weboldal gyökérkönyvtárába: /CKEditor (itt, a 3.6.2-es verzióban a _Samples\ckeditor mappát a tömörített mappába kell tenni) és /CKFinder (kis- és nagybetűérzékeny, közvetlenül ide teheted a mappát). )

Fontos megjegyezni, hogy itt néha hiba történik a generációban. Például vannak duplikált AssemblyTitle típusú címkék, főként azért, mert a weboldalnak több AssemblyInfo.cs van a letöltött fájl törlésére. Vagy töröld a mappát _source. Ha bármilyen kérdésed van, felveheti a kapcsolatot: QQ: 515072775

CKEeditor használata egy oldalon:

<textarea cols="80" id="prcontent" name="content" sor="50"> Helló, sikeres volt a használata! </textarea>

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

CKEDITOR.replace('tartalom', { magasság:200, szélesség: 520 });

. .</scrip去掉t>

A CKEditoron nincs feltöltési funkció, ezért CKFinderrel kell feltölteni

1. lépés: A weboldalnak hivatkoznia kell a CKFinder dll-ére (directory: /CKFinder/bin/Release/CKFinder.dll)

2. lépés: Konfigurálni a CKEeditor config.js-jét (könyvtár: /CKEditor/config.js) a CKEDITOR.editorConfig függvényben, és a felesleges funkciók eltávolíthatók


CKEDITOR.editorConfig = function(config) {
config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html'; Ne írd "~/ckfinder/..." vagy "/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';  A böngésző szerver felugró ablakának méretbeállítása
config.filebrowserWindowHeight = '500';
}
CKFinder.setupCKEditor(null, '.. /ckfinder/'); Fontos megjegyezni, hogy a ckfinder útvonala megfelel a tényleges elhelyezésnek

CKFinder konfigurációja:

Nyisd meg a config.ascx felhasználói vezérlőt a "ckfinder\" alatt, és változtasd meg annak BaseUrl útját:

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





Itt egy plusz pont: hasznos IIS-ben tesztelni. Ellenkező esetben, ha a feltöltés sikertelen, azt fogod gondolni, hogy valami baj van a konfigurációval.

A CKEditornak van feltöltési funkciója a konfiguráció befejezése után, de mi van, ha a képfájl az eredeti képnév, és véletlenszerű fájlnévre akarja változtatni? Aztán nézd meg a harmadik lépést.

3. lépés: Módosítsd a CKFinder forráskódját. A CKFinder saját forráskóddal rendelkezik, a könyvtár: /CKFinde/_source

Hozz létre egy új, aktuális projektet a VS-ben CKFinde/_source/CKFinder.Net.sln-re, az itt letöltött megoldásfájl feltétlenül nem nyílik meg VS2008-ban, választhatsz új projektet hozzáadni, vagy egy újabb VS verziót használsz a megnyitáshoz.

1) Nyisd meg a /Settings/ConfigFile.cs fájlt

Találj meg 27 sort, és adj hozzá egy attribútumot: public bool RandomReName; Véletlenszerűen nevezze át

Találj meg 67 sort, és adj egy értéket a tulajdonságnak most: RandomReName = true; Az alapértelmezett érték igaz

Mentsd el a zárt fájlt

2) Nyisd meg a /Connector/Config.cs fájlt

Találd meg a 62 sort, adj hozzá egy attribútumot:

public bool RandomReName

{

get { returnSettings.ConfigFile.Current.RandomReName; }

}

Mentsd el a zárt fájlt

3) Nyisd meg a /Connector/CommandHandlers/FileUploadCommandHandler.cs fájlt

Keresd meg a 64-es sort, és adj hozzá egy ítéletkódot:

if ( Config.Current.RandomReName) // Használj véletlenszerű nevet

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


Mentsd el a zárt fájlt
4) Generáld újra a projektet, felülírd a /ckfinder/_source/bin/Debug/CKFinder.dll /ckfinder/bin/Release/CKFinder.dll vagy távolítsd el a korábban hozzáadott hivatkozásokat a weboldal projekthez, és újra töröld a dll-t a CKFinder.Net projektből
Utolsó lépés: Nyisd meg a /ckfinder/config.ascx
Keress 40 sort és adj hozzá egy attribútumot: (Valójában ezt vagy nem, mert korábban volt alapértelmezett érték, de az eredeti név használatában hamisnak kell lennie)

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

RandomReName = igaz;


Mentés zárva

Rendben, most, hogy a konfiguráció sikeres, a CKEditornak lehet feltöltési funkciója. Más függvények beállításait tovább tanulmányozni fogjuk, ha van időd~

Még egy emlékeztető: a CKEditor és CKFinder mappákban sok felesleges dolog van, például aláhúzott neveket, a .net projekteknek nem kell php, asp.

Ha hiba van egy fájl feltöltésekor: A fájl biztonsági okokból nem tekinthető meg. Kérjük, vegye fel a kapcsolatot a rendszergazdájával, és ellenőrizze a CKFinder profilját.

Módosítanod kell a config.ascx fájlt

public override bool CheckAuthentication()
{
reture hamis;
}
Módosítva:

public override bool CheckAuthentication()
{

Űrlap ellenőrzése
returnRequest.IsAuthenticated;

}



3. Alkalmazzuk a CKEditor vezérlést az oldalon [két módszer, a és b]

[V: A tömörített csomagban lévő INSTALL.html idézése]

Ha integrálni szeretnéd a CKEditort a ASP.NET oldaladdal, kövesd az alábbi lépéseket.

1. Látogasson el a hivatalos CKEditor letöltő oldalra, és töltse le a CKEditor 3.x és a CKEditor legújabb verzióit a ASP.NET Control számára.
2. Bontsd ki mindkét telepítési csomagot a kívánt helyre.
3. Adj hozzá egy hivatkozást a CKEditorhoz ASP.NET Control-hoz a weboldaladra.
     A Visual Studio-ban használd az Add Reference parancsot, és böngésszük a bin\Release\CKEditor.NET.dll fájlt a CKEditor for ASP.NET installációs csomagból. A DLL fájlt manuálisan is bemásolhatod az alkalmazásod bin mappájába.
4. Másold le a kicsomagolt szerkesztő fájlokat a CKEditor 3.x telepítési csomagból, és illesztsd be a weboldalad alkalmazáskönyvtárába.
5. Regisztrálja a CKEditort ASP.NET Control számára az oldalán:
<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>
6. Helyezzen be egy CKEditor példányt az oldal testébe:
<CKEditor:CKEditorControl ID="CKEditor1" runat="server"></CKEditor:CKEditorControl>
【b】

1. <head>Hozzáhelyezzük a megfelelő js hivatkozást az oldalra:

    <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. Ezután <body>adjuk hozzá a következő kódot arra a helyre, ahol a vezérlőt kell elhelyezni, és a következő felhasználási módszerek találhatók:

(1) Hozzáadni a megadott osztályattribútumot a vezérlőhöz
    <textarea id="textarea1" name="editor1" class="ckeditor">helló!</textarea>
Szerver vezérlések:
    <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" CssClass="ckeditor"></asp:TextBox>

(2) Injektáljuk a js kódot – itt a js kódot a vezérlő után vagy benne lehet írni.<head>
    <textarea id="textarea1" name="editor1">szia!</textarea>
    <scrip remove t type="text/javascrip remove t" >
        CKEDITOR.replace('editor1', { height:400, width:800 });
    . .</scrip去掉t>
Szerver vezérlések:
    <asp:TextBox ID="mckeditor" runat="server" TextMode="MultiLine"></asp:TextBox>
    <scrip remove t type="text/javascrip remove t" >
        CKEDITOR.replace('<%=mckeditor. ClientID %>');
    . .</scrip去掉t>
=============================================================================================================
Második hivatkozás:
asp.net a ckeditor 3.0.1 és ckfinder_aspnet_1.4.1.1 konfigurációs módszere
A http://ckeditor.com.cn/docs/ utasításai szerint a CKEditor a weboldalon van konfigurálva, és amikor a böngészőben megnézem, úgy érzem, a CKEeditor felülete valóban nagyon szép, de amikor örömmel próbáltam ki a képfeltöltési funkciót, nem láttam a kép feltöltésére szolgáló gombot.

Tovább keresve az interneten, arra a következtetésre jutottunk, hogy "a CKEditornak nincs feltöltési funkciója, és integrálni kell a CKFinderrel a feltöltési funkció eléréséhez".
Ezután töltsd le a CKFinder 1.4.1.1-et Asp.net számára, nyitd ki, és tedd a ckfinder mappát a projekt gyökérkönyvtárába – mert sok internetes forrás szerint a legjobb a CKEditort és a CKFindert ugyanabban a szintű könyvtárban tárolni. Így további két mappánk lesz a projektünkben ok nélkül. Nekem is van egy kódtisztasági fetisisem, azt hiszem,
Hagyj egy mappát, hogy tiszteletet fejezzön ki a szerző iránt, az elég lesz. Kettő megtartása nagyon kényelmetlenül érezné magam.


Mielőtt integrálnánk a CKFindert a CKEditorba, egy kicsit be kell állítanunk a CKFindert is. Az okos barátok könnyen gondolhatják, hogy mivel ez egy bővítmény fájlok feltöltésére, a legtöbb beállítás a fájlok feltöltéséhez szükséges útvonal.

A CKFinder alapértelmezett feltöltési útja a userfiles mappa a saját könyvtárában, de a CKFindert a CKEditor mappába tettem, ha a képet a userfiles-ban tárolom, a rendszernek meg kell kerülnie a háromrétegű mappát, hogy megtalálja a fájlt vagy képet, ezért azt tervezem, hogy feltöltöm a képet a projekt gyökérkönyvtárában található upFile mappába.
Ennek a funkciónak a megvalósításához módosítanod kell a config.ascx fájlt a CKFinder alatt, hogy a BaseUrl = "/ckfinder/userfiles/" BaseUrl = "~/upFile/" legyen a BaseUrl. Ezután vágd le a CKFinder.dll fájlokat a CKFinder/bin mappából a rendszer projekt bin mappájába. Vagy beépítheted CKFinder.dll a projektbe hivatkozások hozzáadásával.
Ezután használhatjuk a CKEditort fájlfeltöltéssel:

Tedd a CKFinder mappát a CKEditor mappába, és az oldalon importáld mindkettő js fájljait:

<scrip eltávolítása tsrc="http://www.cnblogs.com/ckeditor/ckeditor.js" type="text/javascrip eltávolítása t"></scrip去掉t>

<scrip eltávolítása t src="http://www.cnblogs.com/ckeditor/ckfinder/ckfinder.js" type="text/javascrip eltávolítása t"></scrip去掉t>
Kétféleképpen lehet a szerkesztőt egy vezérlőre hivatkozni:

Az egyik, hogy a kliensvezérlő textarea használatát kell használni:

<textarea sorok = "20" cols = "40" name = "txtContent" id="txtContent"></textarea>

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

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

CKFinder.SetupCKEeditor (szerkesztő, 'http://www.cnblogs.com/ckeditor/ckfinder/');

. .</scrip去掉t>

A második a szerveroldali vezérlő szövegdoboz használata:

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

</scrip去掉t>Személy szerint szerintem mivel asp.net programról van szó, akkor használd a szerveroldali vezérlőket. Bár kicsit lassabban fut, mint a kliensvezérlők, a fejlesztés valamivel gyorsabb. És programozóként mindig szeretünk minden lehetőséget kipróbálni, mielőtt azt választjuk, amit szeretünk.

Valójában értékeket is rendelhetsz a vezérlőhez anélkül, hogy Text='<%# Bind("info") %>' használnád, és közvetlenül a backcode-ban is használhatod

this.txtContent.Text="Kezdeti érték"
    Ez is lehetséges. Az alábbi kódot közvetlenül is használhatod az érték megszerzéséhez:

CKFinder és CKEditor kód. Amikor közvetlenül az szerkesztővel futtatom az oldalt, a fordító a következő hibát adja:

string content=this.txtContent.Text
    Megjegyzés: A TextMode="MultiLine" attribútuma elengedhetetlen, különben az érték nulla lesz.

Nem egyszerűsítettem a programot a hibakeresés előtt

A "ControlDesigner" típus- vagy névtér név nem létezik a "System.Web.UI.Design" névtérben (hiányzik belőle az assembly referencia?)

A hiba a ckeditor\ckfinder\_source\FileBrowserDesigner.cs 19. sorában van, így egyszerűen egyszerűsítsd a fájlt:

Az első lépés a ckeditor egyszerűsítése: töröld a _samples és _source mappákat, és csak három nyelvi fájl maradhat meg a lang könyvtárban: en.js, zh.js és zh-cn.js;

A második lépés a ckfinder egyszerűsítése: töröld a _samples és _source mappákat, és csak a en.js, zh.js és zh-cn.js nyelvi fájlokat tartsd meg a lang könyvtárban.

Figyeld meg a js kód második sorát itt: CKFinder.SetupCKEditor(szerkesztő, 'http://www.cnblogs.com/ckeditor/ckfinder/'); , ahol a "http://www.cnblogs.com/ckeditor/ckfinder/" a ckfinder relatív útvonala az aktuális oldalhoz,
Kérjük, ne másolja és illesztse be közvetlenül a kódot, különben a következő hiba megjelenhet képek feltöltésekor:

Leírás: HTTP 404. Lehet, hogy a keresett forrás (vagy valamelyik függősége) eltávolítva, megváltozott a neve, vagy ideiglenesen nem elérhető. Kérjük, ellenőrizze az alábbi URL-t, és győződjön meg róla, hogy helyesen van írva.

Kért URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx

Szóval, ha nem akarod a ckfindert a ckeditor mappába tenni, mint én, az rendben van, amíg helyesen töltöd ki az útváltozásokat itt.

Azt hittem, ez lesz az összes munka, de amikor feltöltöttem a képet, a következő felhívás jelent meg:

Biztonsági okokból a fájl nem tekinthető meg. Kérjük, vegye fel a kapcsolatot a rendszergazdájával, és ellenőrizze a CKFinder profilját.

Ahogy a mondás tartja, nincs az a mód, hogy a jó dolgokat nehéz megenni. Csak a legjobb tanárt kérdezhetem – Baidut. Másold át a fenti prompt információkat a Baidu keresőmezőbe, és miután beléptem az autóba, találtam egy bejegyzést a PHP integrációs ckeditorról. Íme, hogyan lehet ezt csinálni:

Módosítsuk a config.ascx fájlt a CKFinder alatt, hogy a nyilvános felülírás bool CheckAuthentication() függvény visszatérési értékét a return false helyett true vissza állítsa vissza.

Újra teszteltem, a kép sikeresen feltöltött!

Pontszám

A résztvevők száma1MB+2 hozzájárul+2 Összeomlás ok
Whoami + 2 + 2 Nagyon erős!

Minden értékelés megtekintése





Előző:asp.net hely leugró lista köti meg az adatbázist
Következő:Hogyan használhatom a kódot arra, hogy az autentifikációs vezérlés Asp.Net-ben elérhetetlen legyen?
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com