FCKeditor 上傳圖片自動重新命名

來源:互聯網
上載者:User

FCKeditor 的檔案上傳預設是不改名的,本地的檔案名稱是什麼,上傳後保留原來的檔案名稱;如果存在同名檔案,則會被自動在檔案名稱後面加 (n) 來標識。

FCKeditor For ASP.NET 的上傳部分被編譯到 DLL 檔案裡面了,所以只能通過修改原始碼,再重新編譯後方能使用。

使用:FCKeditor.Net_2.5.zip,asp.net 2.0版

找到項目中的FileBrowser/FileWorkerBase.cs

 

while (true)
            ...{
                string sFilePath = System.IO.Path.Combine(sServerDir, sFileName);

                if (System.IO.File.Exists(sFilePath))
                ...{
                    iCounter++;
                    sFileName = System.IO.Path.GetFileNameWithoutExtension(oFile.FileName) + "(" + iCounter + ")." + sExtension;

                    iErrorNumber = 201;
                }
                else
                ...{
                    oFile.SaveAs(sFilePath);
                    break;
                }
            }
修改後的代碼變成:

 

while (true)
            ...{
                sFileName = DateTime.Now.ToString("yyyymmddhhmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "." + sExtension;//以時間命名檔案

                string sFilePath = System.IO.Path.Combine(sServerDir, sFileName);

                oFile.SaveAs(sFilePath);
                break;
            }

詳見:

            while ( true )
            {
                //string sFilePath = System.IO.Path.Combine( sServerDir, sFileName );

                //if ( System.IO.File.Exists( sFilePath ) )
                //{
                //    iCounter++;
                //    sFileName =
                //        System.IO.Path.GetFileNameWithoutExtension( oFile.FileName ) +
                //        "(" + iCounter + ")." +
                //        sExtension;

                //    iErrorNumber = 201;
                //}
                //else
                //{
                //    oFile.SaveAs( sFilePath );
                //    break;
                //}

                sFileName = DateTime.Now.ToString("yyyyMMddhhmmssffff", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "." + sExtension;//以時間命名檔案

                string sFilePath = System.IO.Path.Combine(sServerDir, sFileName);

                oFile.SaveAs(sFilePath);
                break;
            }

重建解決方案。在網站項目中刪除舊的FredCK.FCKeditorV2.dll,再添加新的引用,就OK了。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.