最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASp.net下fckeditor配置圖片上傳最簡(jiǎn)單的方法

 更新時(shí)間:2010年01月13日 03:45:39   作者:  
fckeditor 的基本配置我就不講了,講講圖片上傳這塊吧;
1. 原先的配置
把 fckeditor/filemanager/connectors 目錄刪除;
有同學(xué)可能會(huì)問(wèn)了,都刪除了怎么上傳文件?
呵呵。。。

2. 不要引用 FredCK.FCKeditorV2.dll;
因?yàn)槲叶际遣捎胘s寫的,不采用控件的方式;
其實(shí)網(wǎng)上有很多人在嘗試往 fckeditor/filemanager/connectors目錄下注入,
確實(shí)也有人不小心直接把FCK編輯器沒(méi)有任何配置的情況下傳到網(wǎng)上導(dǎo)致中招了;

3. 現(xiàn)在講正題吧,一般來(lái)說(shuō)我們用FCK的時(shí)候并不多,在一個(gè)系統(tǒng)里面可能也就幾個(gè)地方
現(xiàn)在假如我有一個(gè)簡(jiǎn)單的系統(tǒng),里面有“新聞”發(fā)布和,類似“公司簡(jiǎn)介”單頁(yè)發(fā)布兩個(gè)地方要用的FCK
我要把所有文章的圖片放到 /Article/yyyyMMdd/guid.jpg
把所有單頁(yè)的圖片放到 /Page/yyyyMMdd/guid.jpg
或者說(shuō)我要把圖片按用戶存到不同的地方。。。

4.實(shí)現(xiàn)
怎么很簡(jiǎn)單的事情要說(shuō)清楚需要做這么多鋪墊,太麻煩了。。。。?。?!

web頁(yè)面:
代碼
復(fù)制代碼 代碼如下:

<form id="form1" runat="server">
<div>
<div>
<asp:TextBox ID="TextBox1" TextMode="MultiLine" runat="server"> </asp:TextBox>
</div>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>


JS:


代碼
復(fù)制代碼 代碼如下:

<script src="fckeditor/fckeditor.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function() {
var oFCKeditor = new FCKeditor('<%= TextBox1.ClientID %>');
oFCKeditor.BasePath = 'fckeditor/'
oFCKeditor.Config.ImageUploadURL = "/admin/auploader.aspx";
oFCKeditor.ReplaceTextarea();
}
</script>


這樣就搞定了!
不要不相信啊,下面把上傳頁(yè)面的代碼簡(jiǎn)單的寫一個(gè)吧,對(duì)這個(gè)也比較重要;

代碼
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
if (Request.Files.Count > 0)
{
HttpPostedFile file = Request.Files[0];
string path = "/Article/" + System.DateTime.Now.ToString("yyyyMMdd") + "/";
string serverPath = Server.MapPath(path);
string fileName = Guid.NewGuid() + file.FileName.Substring(file.FileName.LastIndexOf("."));
if (!System.IO.Directory.Exists(serverPath))
System.IO.Directory.CreateDirectory(serverPath);
file.SaveAs(serverPath + fileName);
SendFileUploadResponse(0, path + fileName, fileName, "上傳成功!");
}
else
{
SendFileUploadResponse(1, "", "", "上傳失??!");
}
}

public void SendFileUploadResponse(int isSucceed, string fileUrl, string fileName, string customMsg)
{
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Write("<script type='text/javascript'>");
System.Web.HttpContext.Current.Response.Write(@"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();");
System.Web.HttpContext.Current.Response.Write("window.parent.OnUploadCompleted(" + isSucceed.ToString().ToLower() + ", '" + fileUrl + "', '" + fileName + "', '" + customMsg + "');");
System.Web.HttpContext.Current.Response.Write("</script>");
System.Web.HttpContext.Current.Response.End();
}


好了搞定了!
這個(gè)上傳代碼沒(méi)有做嚴(yán)格的后綴限制,大小限制;因?yàn)檫@個(gè)頁(yè)面路徑是我們自己配置的嘛,想怎么寫就怎么寫了;
甚至你可以根據(jù)不同的用戶存到不同的地方;
這里需要說(shuō)明一下 SendFileUploadResponse 方法,其實(shí)就是為FCk傳回消息;
這里:
System.Web.HttpContext.Current.Response.Write("window.parent.OnUploadCompleted(" + isSucceed.ToString().ToLower() + ", '" + fileUrl + "', '" + fileName + "', '" + customMsg + "');");

對(duì)應(yīng)的是
fckeditor/dialog/fck_image/fck_image.js

代碼
復(fù)制代碼 代碼如下:

function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
{
// Remove animation
window.parent.Throbber.Hide() ;
GetE( 'divUpload' ).style.display = '' ;
switch ( errorNumber )
{
case 0 : // No errors
alert( 'Your file has been successfully uploaded' ) ;
break ;
case 1 : // Custom error
alert( customMsg ) ;
return ;
case 101 : // Custom warning
alert( customMsg ) ;
break ;
case 201 :
alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
break ;
case 202 :
alert( 'Invalid file type' ) ;
return ;
case 203 :
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
return ;
case 500 :
alert( 'The connector is disabled' ) ;
break ;
default :
alert( 'Error on file upload. Error number: ' + errorNumber ) ;
return ;
}
sActualBrowser = '' ;
SetUrl( fileUrl ) ;
GetE('frmUpload').reset() ;
}

注意到 0 ,是成功,1 是失敗,其他的自己看吧。。。。
對(duì)了說(shuō)明一下這里用的是 2.65 版本測(cè)試的,如果有其他版本不一樣的靈活變通下哈;

總結(jié)一下:
1. 在不同的頁(yè)面配置不同的圖片處理路徑,如:
oFCKeditor.Config.ImageUploadURL = "/admin/aupload.aspx";
oFCKeditor.Config.ImageUploadURL = "/admin/bupload.aspx";
。。。。

2. FCk 會(huì)把圖片post到指定的路徑,
然后你自己操作圖片,按目錄存啊還是按當(dāng)前用戶session存隨便來(lái);
當(dāng)然別忘記驗(yàn)證用戶的身份在先,沒(méi)有權(quán)限的不要對(duì)他客氣,直接返回錯(cuò)誤,
驗(yàn)證身份示例代碼里面沒(méi)寫,自己根據(jù)項(xiàng)目自己加吧

3. 一定要返回值告訴FCK你的操作結(jié)果,否則會(huì)一直死在那里的。。。

PS:
看來(lái)我不是個(gè)喜歡寫東西的人,覺(jué)得很麻煩。。。

相關(guān)文章

  • ckeditor自定義插件使用方法詳解

    ckeditor自定義插件使用方法詳解

    ckeditor是一款功能強(qiáng)大的富文本編輯工具,這篇文章主要為大家詳細(xì)介紹了ckeditor自定義插件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • javascript開(kāi)發(fā)隨筆3 開(kāi)發(fā)iframe富文本編輯器的一點(diǎn)體會(huì)

    javascript開(kāi)發(fā)隨筆3 開(kāi)發(fā)iframe富文本編輯器的一點(diǎn)體會(huì)

    前段時(shí)間有個(gè)需求是開(kāi)發(fā)富文本編輯器,這個(gè)之前隨做過(guò),但看了需求,發(fā)現(xiàn)有些地方還需google
    2011-11-11
  • FCKeditor + SyntaxHighlighter 讓代碼高亮著色插件

    FCKeditor + SyntaxHighlighter 讓代碼高亮著色插件

    FCKeditor是現(xiàn)在最為流行的開(kāi)源編輯器,SyntaxHighlighter是一個(gè)用JS實(shí)現(xiàn)的代碼高亮顯示插件,F(xiàn)CKeditor + SyntaxHighlighter 讓代碼高亮著色,可以最小化修改您的程序?qū)崿F(xiàn)效果
    2014-06-06
  • UEditor 編輯器跨域上傳解決方法

    UEditor 編輯器跨域上傳解決方法

    在使用 UEditor 編輯器 時(shí)遇到了跨域的問(wèn)題,導(dǎo)致無(wú)法發(fā)圖片,原因是由于 iframe 中的 src 跨域造成的
    2013-06-06
  • FCKEditor超級(jí)鏈接默認(rèn)新窗口打開(kāi)的修改方法

    FCKEditor超級(jí)鏈接默認(rèn)新窗口打開(kāi)的修改方法

    經(jīng)常在后臺(tái)編輯超鏈接的朋友,希望將頁(yè)面鏈接,默認(rèn)是新窗口打開(kāi),因?yàn)檫@樣用戶體驗(yàn)好點(diǎn),所以將FCKEditor簡(jiǎn)單的修改下。
    2010-06-06
  • CKEDITOR二次開(kāi)發(fā)之插件開(kāi)發(fā)方法

    CKEDITOR二次開(kāi)發(fā)之插件開(kāi)發(fā)方法

    CKEditor固有的一些文件被組織到_source目錄里. 核心的功能,諸如DOM元素操作,事件處理,初始化腳本和一些環(huán)境設(shè)置被包含在_source\core文件夾內(nèi). 而其它的一些功能, 比如格式化,拷貝和粘貼, 圖片和鏈接, 都被實(shí)現(xiàn)為插件形式放在_source\plugins文件夾內(nèi)
    2017-03-03
  • 在kindEditor中獲取當(dāng)前光標(biāo)的位置索引的實(shí)現(xiàn)代碼

    在kindEditor中獲取當(dāng)前光標(biāo)的位置索引的實(shí)現(xiàn)代碼

    一直在用KindEditor,今天要用到光標(biāo)的位置,然后就gg一下辦法,后來(lái)發(fā)現(xiàn)這東西的編輯區(qū)域居然是iframe里面的一個(gè)body,不是textarea/input,后來(lái)就翻開(kāi)了他的代碼看,發(fā)現(xiàn)有個(gè)insertHtml
    2011-11-11
  • fckeditor 常用函數(shù)

    fckeditor 常用函數(shù)

    對(duì)于操作 fckeditor的朋友,有所幫助。其實(shí)我們用插件的方法制作也是不錯(cuò)的。功能可以更強(qiáng)。
    2009-06-06
  • 為ckeditor編輯器加上傳圖片的功能

    為ckeditor編輯器加上傳圖片的功能

    CKEditor官方演示是有上傳圖片和瀏覽服務(wù)器文件功能的,但是我們自己下載回來(lái)的卻沒(méi)有這兩個(gè)功能 其實(shí)還需要下載另外一個(gè)組件:CKFinder,用它配合CKEditor來(lái)實(shí)現(xiàn)上傳功能
    2012-07-07
  • FCKeditor 和 SyntaxHighlighter 代碼高亮插件的整合

    FCKeditor 和 SyntaxHighlighter 代碼高亮插件的整合

    FCKeditor 和 SyntaxHighlighter 代碼高亮插件的整合方法,里面有下載,可以根據(jù)需要結(jié)合自己的fckeditor版本。
    2010-04-04

最新評(píng)論

汝州市| 响水县| 南丰县| 永昌县| 隆尧县| 宝鸡市| 梓潼县| 余江县| 察哈| 大兴区| 若羌县| 天祝| 新密市| 奎屯市| 集安市| 百色市| 穆棱市| 乐山市| 宕昌县| 沈丘县| 延长县| 遂平县| 西华县| 嘉禾县| 崇仁县| 宣城市| 瑞昌市| 随州市| 马鞍山市| 阳泉市| 田林县| 天柱县| 册亨县| 辉县市| 保山市| 吴堡县| 广东省| 七台河市| 汪清县| 乌鲁木齐市| 峨眉山市|