Fckeditor 2.6.3 (ASP版)——添加上傳檔案大小限制

來源:互聯網
上載者:User

 Fckeditor的修改還是在8月份進行的,本人比較懶,拖到現在才寫出來,嘿嘿。

    Fckeditor確實是一款強大的線上編輯器,設計比較人性化,相容多個瀏覽器,如IE、firefox(我就測試了這兩種哦)。對於FckEditor的修改,我主要進行了添加功能按鈕、限制上傳大小和過濾ASP木馬三個方面的修改。今天先談下對上傳大小的限制的修改吧。

     對於上傳大小的修改,主要是三個方面:

(1)定義其允許上傳的最大值。

這個是在fckeditor\editor\filemanager\connectors\asp\config.asp中修改的。在檔案的最後添加如下代碼:

Dim LinkUploadLimit,ImageUploadLimit,FlashUploadLimit,AttachUploadLimit,MediaUploadLimit
Dim LinkUploadMaxsize,ImageUploadMaxsize,FlashUploadMaxsize,AttachUploadMaxsize,MediaUploadMaxsize
'連結檔案大小限制
LinkUploadLimit = True
LinkUploadMaxsize = 102400
'圖片上傳大小限制
ImageUploadLimit = True
ImageUploadMaxsize = 2048
'flash上傳大小限制
FlashUploadLimit = True
FlashUploadMaxsize = 2048
'多媒體檔案上傳大小限制
MediaUploadLimit = True
MediaUploadMaxsize = 204800
'附件上傳大小限制
AttachUploadLimit = True
AttachUploadMaxsize = 20480

        FckEditor針對不同的上傳方式將上傳檔案分為link,Image,Flash,Media等類型(Attach類型為我添加的),分別對應Fckeditor工具列上各個按鈕的上傳,如link對應使用超連結按鈕建立超連結時上傳的檔案。因此這裡對每種類型定義了兩個變數一個用來設定是否開啟上傳限制,一個是上傳的最大值,單位為k。

(2)判斷上傳的檔案是否超過限制。

這個是在fckeditor\editor\filemanager\connectors\asp\commands.asp中修改的。

在172行之後即語句sOriginalFileName = sFileName之後添加如下代碼

    '此處添加對檔案大小上傳限制
    Dim dFileSize,UploadLimitMaxsize,IsUploadLimit,IsLimitOk
   
    '單位保持與設定值一致,設定值使用K   
    dFileSize=oUploader.File( "NewFile" ).Size/1024
    '根據上傳的類別,取設定值,是否允許上傳,允許上傳的最大值
    select case sResourceType
    case "File"
     IsUpLoadLimit=LinkUploadLimit
     UploadLimitMaxsize=LinkUploadMaxsize
    case "Image"
     IsUpLoadLimit=ImageUploadLimit
     UploadLimitMaxsize=ImageUploadMaxsize
    case "Flash"
     IsUpLoadLimit=FlashUploadLimit
     UploadLimitMaxsize=FlashUploadMaxsize
    case "Media"
     IsUpLoadLimit=MediaUploadLimit
     UploadLimitMaxsize=MediaUploadMaxsize   
    case "Attach"
     IsUpLoadLimit=AttachUploadLimit
     UploadLimitMaxsize=AttachUploadMaxsize
    'case "Media"
    case else
     '預設設定限制上傳,最大為1M
     IsUploadLimit=True
     UploadLimitMaxsize=102400
    end select

'-------------讀取上傳設定結束-----------------------
'判斷上傳檔案是否超過設定值,通過IsLimitOk來判定IsLimitOk=true 則無法上傳
    IsLimitOk=False
    if IsUploadLimit then    
     if dFileSize > UploadLimitMaxsize then
      IsLimitOk = True
      sErrorNumber = "204"  
     end if   
    end if

'--------------判斷結束,如果上傳檔案超過設定值,則設定錯誤碼為204-----

修改172行後的 DO While ……loop語句

Do While ( True )改為 Do While ( not IsLimitOk )

(3)定義用戶端的錯誤提示資訊。

用戶端錯誤提示資訊在每一類上傳(如 link、image)對應的檔案夾中的js檔案中修改。

link:在fckeditor\editor\dialog\fck_link\下的fck_link.js中修改

             修改函數function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )中的switch …case 語句

            即下列語句之後

   case 203 :
    alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
    return ;

添加如下代碼:

           case 204 :
           alert( '檔案大小超過設定值,不允許上傳!' ) ;
          return ;

其他類型按照相同方式修改即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.