Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 15904|Atbildi: 0

[ASP.NET] asp.net izmantojiet ckeditor_3.6.2+ckfinderckfinder_aspnet_2.1.1, lai iestatītu attēlu augšupielādes funkciju

[Kopēt saiti]
Publicēts 18.04.2015 19:11:55 | | |

Jaunākās CKEditor un CKFinder versijas var lejupielādēt no oficiālās vietnes (http://cksource.com).

Ievietojiet iepriekš minētos divus resursus vietnes saknes direktorijā: /CKEditor (šeit versijā 3.6.2 saspiestā mapē ir jāievieto mape _Samples\ckeditor) un /CKFinder (reģistrjutīgs, mapi var ievietot tieši šeit). )

Ņemiet vērā, ka šeit dažreiz ir kļūda paaudzē. Piemēram, ir dublikāti AssemblyTitle tipa tagi, galvenokārt tāpēc, ka vietnei ir vairāk nekā viena AssemblyInfo.cs, lai izdzēstu lejupielādēto failu. Vai arī izdzēsiet mapi _source. Ja jums ir kādi jautājumi šeit, varat sazināties ar mani: mans QQ: 515072775

CKEditor izmantošana lapā:

<textarea cols="80" id="prcontent" name="content" rows="50"> Sveiki, jūsu lietošana bija veiksmīga! </textarea>

<scrip noņemt ttype="text/javascrip remove t" >

CKEDITOR.replace('saturs', { augstums:200, platums: 520 });

. .</scrip去掉t>

CKEditor nav aprīkots ar augšupielādes funkciju, tāpēc tas ir jāaugšupielādē ar CKFinder

1. solis: Vietnei ir jāatsaucas uz CKFinder dll (direktorijs: /CKFinder/bin/Release/CKFinder.dll)

2. solis: konfigurējiet CKEditor's config.js (direktorijs: /CKEditor/config.js) funkcijā CKEDITOR.editorConfig, un nevajadzīgās funkcijas var noņemt


CKEDITOR.editorConfig = funkcija (config) {
config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html'; Nerakstiet "~/ckfinder/..." vai "/ckfinder/..."
config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html? Tips=Attēli';
config.filebrowserFlashBrowseUrl = 'ckfinder/ckfinder.html? Tips=zibspuldze';
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';  Uznirstošā loga Pārlūkot serveri lieluma iestatījums
config.filebrowserWindowHeight = '500';
}
CKFinder.setupCKEditor(null, '.. /ckfinder/'); Ņemiet vērā, ka ckfinder ceļš atbilst faktiskajam izvietojumam

CKFinder konfigurācija:

Atveriet lietotāja vadīklu config.ascx sadaļā "ckfinder\" un mainiet tā BaseUrl ceļu:

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





Šeit ir papildu punkts: ir lietderīgi pārbaudīt IIS. Pretējā gadījumā, ja augšupielāde ir neveiksmīga, jūs domājat, ka konfigurācijā kaut kas nav kārtībā.

CKEditor ir augšupielādes funkcija pēc konfigurācijas pabeigšanas, bet ko darīt, ja attēla fails ir sākotnējais attēla nosaukums un vēlas to mainīt uz nejaušu faila nosaukumu? Tad paskatieties uz trešo soli.

3. solis: modificējiet CKFinder avota kodu. CKFinder nāk ar savu avota kodu, direktoriju: /CKFinde/_source

Izveidojiet jaunu pašreizējo projektu VS uz CKFinde/_source/CKFinder.Net.sln, šeit lejupielādētais risinājuma fails var netikt atvērts VS2008, varat izvēlēties pievienot jaunu projektu vai izmantot jaunāku VS versiju, lai to atvērtu.

1) Atveriet failu /Settings/ConfigFile.cs

Atrodiet 27 rindas un pievienojiet atribūtu: publiskais bool RandomReName; Pārdēvēt nejauši

Atrodiet 67 rindas un piešķiriet rekvizītam vērtību tieši tagad: RandomReName = true; Noklusējuma vērtība ir true

Saglabājiet slēgto failu

2) Atveriet failu /Connector/Config.cs

Atrodiet 62 rindas, pievienojiet atribūtu:

publiskais bool RandomReName

{

iegūt { returnSettings.ConfigFile.Current.RandomReName; }

}

Saglabājiet slēgto failu

3) Atveriet failu /Connector/CommandHandlers/FileUploadCommandHandler.cs

Atrodiet 64. rindu un pievienojiet sprieduma kodu:

if ( Config.Current.RandomReName) // Izmantojiet nejaušu nosaukumu

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


Saglabājiet slēgto failu
4) Atjaunojiet projektu, pārrakstiet /ckfinder/_source/bin/Debug/CKFinder.dll /ckfinder/bin/Release/CKFinder.dll vai noņemiet iepriekš pievienotās atsauces uz vietnes projektu un atkārtoti noņemiet dll no CKFinder.Net projekta
Pēdējais solis: atveriet /ckfinder/config.ascx
Atrodiet 40 rindiņas un pievienojiet atribūtu: (Faktiski to var pievienot vai nē, jo iepriekš bija iestatīta noklusējuma vērtība, bet, izmantojot sākotnējo nosaukumu, tā ir jāiestata uz false)

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

RandomReName = true;


Saglabāt slēgtu

Labi, tagad, kad konfigurācija ir bijusi veiksmīga, CKEditor var būt augšupielādes funkcija. Citu funkciju iestatījumi tiks turpināti pētīt, kad jums būs laiks~

Vēl viens atgādinājums: CKEditor un CKFinder mapēs ir daudz nevajadzīgu lietu, piemēram, nosaukumi ar pasvītrojumiem, .net projektiem nav nepieciešams php, asp.

Ja faila augšupielādēšanā rodas kļūda: failu nevar skatīt drošības apsvērumu dēļ. Lūdzu, sazinieties ar sistēmas administratoru un pārbaudiet CKFinder profilu.

Jums ir jāmodificē fails config.ascx

publiskā ignorēšana bool CheckAuthentication()
{
reture false;
}
Modificēts uz:

publiskā ignorēšana bool CheckAuthentication()
{

Veidlapas validācija
returnRequest.IsAuthenticated;

}



3. Lietojiet CKEditor vadīklu lapā [divas metodes, a un b]

[A: Citējot INSTALL.html saspiestajā paketē]

Ja vēlaties integrēt CKEditor savā ASP.NET lapā, veiciet tālāk norādītās darbības.

1. Dodieties uz oficiālo CKEditor lejupielādes vietni un lejupielādējiet jaunākās versijas gan CKEditor 3.x, gan CKEditor ASP.NET Control.
2. Izsaiņojiet abas instalācijas pakotnes vēlamajā vietā Noņemt n.
3. Pievienojiet savai vietnei atsauci uz CKEditor for ASP.NET Control.
     Programmā Visual Studio izmantojiet komandu Pievienot atsauci un pārlūkojiet failu bin\Release\CKEditor.NET.dll no neiesaiņotā CKEditor ASP.NET instalācijas pakotnei. Varat arī manuāli kopēt DLL failu lietojumprogrammas mapē.
4. Kopējiet izsaiņotos redaktora failus no CKEditor 3.x instalācijas pakotnes un ielīmējiet tos savas vietnes lietojumprogrammu direktorijā.
5. Reģistrējiet CKEditor ASP.NET Control savā lapā:
<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>
6. Ievietojiet CKEditor instanci lapas pamattekstā:
<CKEditor:CKEditorControl ID="CKEditor1" runat="serveris"></CKEditor:CKEditorControl>
【b】

1. <head>Pievienojiet lapai atbilstošo js atsauci:

    <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. Pēc tam <body>pievienojiet šādu kodu vietai, kur jānovieto vadīkla, un ir šādas lietošanas metodes:

(1) Pievienojiet vadīklai norādīto klases atribūtu
    <textarea id="textarea1" name="editor1" class="ckeditor">sveiki!</textarea>
Servera vadīklas:
    <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" CssClass="ckeditor"></asp:TextBox>

(2) Injicējiet js kodu - šeit js kodu vislabāk rakstīt pēc kontroles vai <head>tajā
    <textarea id="textarea1" name="editor1">sveiki!</textarea>
    <scrip noņemt t type="text/javascrip remove t" >
        CKEDITOR.replace('editor1', { augstums:400, platums:800 });
    . .</scrip去掉t>
Servera vadīklas:
    <asp:TextBox ID="mckeditor" runat="server" TextMode="MultiLine"></asp:TextBox>
    <scrip noņemt t type="text/javascrip remove t" >
        CKEDITOR.replace('<%=mckeditor. Klienta ID %>');
    . .</scrip去掉t>
=============================================================================================================
Otrā atsauce:
asp.net CkEditor 3.0.1 un ckfinder_aspnet_1.4.1.1 konfigurācijas metode
Saskaņā ar http://ckeditor.com.cn/docs/ uzvednēm CKEditor ir konfigurēts tīmekļa lapā, un, skatoties pārlūkprogrammā, es uzskatu, ka CKEditor saskarne patiešām ir ļoti skaista, bet, kad es laimīgi gribēju izmēģināt attēlu augšupielādes funkciju, es neredzēju pogu, lai augšupielādētu attēlu.

Turpinot meklēt tiešsaistē, secinājums bija tāds, ka "CKEditor pašam nav augšupielādes funkcijas, un tas ir jāintegrē ar CKFinder, lai sasniegtu augšupielādes funkciju".
Pēc tam lejupielādējiet CKFinder 1.4.1.1 Asp.net, izsaiņojiet to un ievietojiet mapi ckfinder projekta saknes direktorijā - jo daudzi avoti internetā saka, ka vislabāk ir ievietot CKEditor un CKFinder vienā līmeņa direktorijā. Un tādā veidā mūsu projektā bez iemesla būs vēl divas mapes. Man pašam ir koda tīrības fetišs, es domāju,
Atstājiet mapi kā cieņas zīmi pret autoru, ar to pietiks. Divu turēšana man liktu justies ļoti neērti.


Pirms mēs integrējam CKFinder CKEditor, mums ir arī nedaudz jākonfigurē CKFinder. Gudriem draugiem vajadzētu viegli domāt, ka, tā kā tas ir spraudnis failu augšupielādei, lielākā daļa konfigurējamo lietu ir ceļš uz failu augšupielādi.

CKFinder noklusējuma augšupielādes ceļš ir mape userfiles savā direktorijā, bet es esmu ievietojis CKFinder mapē CKEditor, ja es saglabāju attēlu userfiles, sistēmai ir jāapiet trīsslāņu mape, lai atrastu failu vai attēlu, tāpēc es plānoju augšupielādēt attēlu mapē upFile projekta saknes direktorijā.
Lai īstenotu šo funkciju, jums ir jāmodificē fails config.ascx zem CKFinder, lai mainītu BaseUrl = "/ckfinder/userfiles/" uz BaseUrl = "~/upFile/". Pēc tam izgrieziet CKFinder.dll failus no mapes CKFinder/bin sistēmas projekta mapē. Vai arī ieviesiet CKFinder.dll projektā, pievienojot atsauces.
Tālāk mēs varam izmantot CKEditor ar failu augšupielādi:

Ievietojiet mapi CKFinder mapē CKEditor un lapā importējiet abu js failus:

<scrip noņemt tsrc="http://www.cnblogs.com/ckeditor/ckeditor.js" type="text/javascrip noņemt t"></scrip去掉t>

<scrip noņemt t src="http://www.cnblogs.com/ckeditor/ckfinder/ckfinder.js" type="text/javascrip noņemt t"></scrip去掉t>
Ir divi veidi, kā redaktoram atsaukties uz vadīklu:

Viens no tiem ir izmantot klienta vadības teksta apgabalu:

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

<scrip noņemt t type="text/javascrip remove t" >

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

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

. .</scrip去掉t>

Otrais ir izmantot servera puses vadības tekstlodziņu:

<asp:TextBox id="txtContent" TextMode="MultiLine" Text='<%# Bind("info") %>' runat="server"></asp:TextBox>

<scrip noņemt t type="text/javascrip remove t" >

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

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

</scrip去掉t>Personīgi es domāju, ka, tā kā tā ir asp.net programma, izmantojiet servera puses vadīklas. Lai gan tas darbojas nedaudz lēnāk nekā klienta vadīklas, izstrāde ir nedaudz ātrāka. Un mums kā programmētājiem vienmēr patīk izmēģināt visas iespējas, pirms izvēlamies sev tīkamāko.

Faktiski vadīklai var piešķirt vērtības, neizmantojot Text='<%# Bind("info") %>', un izmantot to tieši atpakaļkodā

this.txtContent.Text="Sākotnējā vērtība"
    Tas ir arī iespējams. Lai iegūtu vērtību, varat arī tieši izmantot šādu kodu:

CKFinder un CKEditor kods. Palaižot lapu tieši ar redaktoru, kompilators rada šādu kļūdu:

virkne content=this.txtContent.Text
    Piezīmes: Atribūts TextMode="MultiLine" ir būtisks, pretējā gadījumā vērtība būs nulle.

Pirms programmas atkļūdošanas es neracionalizēju

Tipa vai nosaukumvietas nosaukums "ControlDesigner" neeksistē nosaukumtelpā "System.Web.UI.Design" (vai tajā trūkst montāžas atsauces?)

Kļūda ir ckeditor\ckfinder\_source\FileBrowserDesigner.cs 19. rindā, tāpēc vienkārši vienkāršojiet failu:

Pirmais solis ir racionalizēt ckeditor: izdzēsiet mapes _samples un _source, un lang direktorijā var saglabāt tikai trīs valodu failus: en.js, zh.js un zh-cn.js;

Otrais solis ir racionalizēt ckfinder: izdzēsiet _samples un _source mapes un saglabājiet tikai en.js, zh.js un zh-cn.js valodas failus lang direktorijā.

Ņemiet vērā js koda otro rindu šeit: CKFinder.SetupCKEditor(redaktors, 'http://www.cnblogs.com/ckeditor/ckfinder/'); , kur "http://www.cnblogs.com/ckeditor/ckfinder/" ir ckfinder relatīvais ceļš uz pašreizējo lapu,
Lūdzu, nekopējiet un neielīmējiet kodu tieši, pretējā gadījumā, augšupielādējot attēlus, var parādīties šāda kļūda:

Apraksts: HTTP 404. Iespējams, meklētais resurss (vai kāda no tā atkarībām) ir noņemts, tā nosaukums ir mainīts, vai tas īslaicīgi nav pieejams. Lūdzu, pārbaudiet šo URL un pārliecinieties, vai tas ir pareizi uzrakstīts.

Pieprasītais URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx

Tātad, ja jūs nevēlaties ievietot ckfinder mapē ckeditor, kā es to darīju, tas ir labi, ja vien šeit pareizi aizpildāt ceļa izmaiņas.

Es domāju, ka tas tiks uzskatīts par visu darbu, bet, augšupielādējot attēlu, parādījās šāda uzvedne:

Drošības apsvērumu dēļ failu nevar skatīt. Lūdzu, sazinieties ar sistēmas administratoru un pārbaudiet CKFinder profilu.

Nav iespējams, kā saka, labas lietas ir grūti ēst. Es varu tikai jautāt labākajam skolotājam - Baidu. Kopējiet iepriekš minēto uzvednes informāciju Baidu meklēšanas lodziņā, un pēc iebraukšanas automašīnā es atradu ziņu par PHP integrācijas ckeditor. Tālāk ir aprakstīts, kā to izdarīt.

Modificējiet failu config.ascx sadaļā CKFinder, lai mainītu publiskās ignorēšanas bool CheckAuthentication() funkcijas atgriezto vērtību no return false uz return true.

Vēlreiz pārbaudīts, attēls veiksmīgi augšupielādēts!

Vērtējums

Dalībnieku skaits1MB+2 Veicināt+2 Sakļaut iemesls
Whoami + 2 + 2 Ļoti spēcīgs!

Skatīt visus vērtējumus





Iepriekšējo:asp.net vietas nolaižamā saraksta saistīšanas datu bāze
Nākamo:Kā izmantot kodu, lai padarītu autentifikācijas vadīklu nepieejamu pakalpojumā Asp.Net?
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com