麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

ASp.net下網頁編輯器fckeditor配置圖片上傳最簡單的方法

2024-07-21 02:53:40
字體:
來源:轉載
供稿:網友
網頁編輯器fckeditor 的基本配置我就不講了,講講圖片上傳這塊吧;
 
1. 原先的配置 
把 fckeditor/filemanager/connectors 目錄刪除; 
有同學可能會問了,都刪除了怎么上傳文件? 
呵呵。。。 

2. 不要引用 FredCK.FCKeditorV2.dll; 
因為我都是采用js寫的,不采用控件的方式; 
其實網上有很多人在嘗試往 fckeditor/filemanager/connectors目錄下注入, 
確實也有人不小心直接把FCK編輯器沒有任何配置的情況下傳到網上導致中招了; 

3. 現在講正題吧,一般來說我們用FCK的時候并不多,在一個系統里面可能也就幾個地方 
現在假如我有一個簡單的系統,里面有“新聞”發布和,類似“公司簡介”單頁發布兩個地方要用的FCK 
我要把所有文章的圖片放到 /Article/yyyyMMdd/guid.jpg 
把所有單頁的圖片放到 /Page/yyyyMMdd/guid.jpg 
或者說我要把圖片按用戶存到不同的地方。。。 

4.實現 
怎么很簡單的事情要說清楚需要做這么多鋪墊,太麻煩了。。。。!!! 

web頁面: 
代碼 
復制代碼代碼如下:

<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: 


代碼 
復制代碼代碼如下:

<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> 


這樣就搞定了! 
不要不相信啊,下面把上傳頁面的代碼簡單的寫一個吧,對這個也比較重要; 

代碼 
復制代碼代碼如下:

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(); 


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

對應的是 
fckeditor/dialog/fck_image/fck_image.js 

代碼 
復制代碼代碼如下:

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 是失敗,其他的自己看吧。。。。 
對了說明一下這里用的是 2.65 版本測試的,如果有其他版本不一樣的靈活變通下哈; 

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

2. FCk 會把圖片post到指定的路徑, 
然后你自己操作圖片,按目錄存啊還是按當前用戶session存隨便來; 
當然別忘記驗證用戶的身份在先,沒有權限的不要對他客氣,直接返回錯誤, 
驗證身份示例代碼里面沒寫,自己根據項目自己加吧 

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

PS: 
看來我不是個喜歡寫東西的人,覺得很麻煩。。。


注:相關教程知識閱讀請移步到編輯器頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品欧美久久久久一区二区 | 天天操天天看 | 97se亚洲综合在线韩国专区福利 | 欧美一级黄| 久久久婷婷一区二区三区不卡 | 欧美精品亚洲人成在线观看 | 得得啪在线| 国产精品一区二区手机在线观看 | 久草在线公开视频 | 狠狠干天天操 | 欧美久久久一区二区三区 | 激情宗合网 | 一级啪啪片| 欧美黄色三级视频 | 国产高清自拍一区 | tube7xxx| 国产精品久久久久久久久久久久久久久 | 91网站链接 | 精品无码久久久久久国产 | 91麻豆蜜桃一区二区三区 | 曰批全过程120分钟免费69 | 亚洲无限资源 | 成人一区二区在线观看视频 | 日本在线观看视频网站 | 鲁丝片一区二区三区免费入口 | 国产日韩在线观看一区 | 国产免费一级淫片a级中文 99国产精品自拍 | 男女亲热网站 | 亚洲成人免费电影 | 九色在线78m | 狠狠操操| 久久久一二三 | 一区二区三视频 | 一区国产视频 | 51国产偷自视频区视频小蝌蚪 | 久草在线资源福利站 | av在线免费不卡 | 操碰网 | 国内精品视频饥渴少妇在线播放 | 日韩黄网站 | 日韩欧美电影在线观看 |