在FCKeditor2.6 上傳文件名爲中文的圖片

    FCKeditor升級到2.6後,已經可以在圖片選擇窗口裏顯示文件名爲中文的上傳圖片了,但是在插入圖片的時候圖片名稱會變成%E4%B8%AD%E6%96%87 這樣的字符串,導致圖片不能正確顯示,即使手動把圖片的路徑改成/fck/userfiles/image/中文.jpg也是不能正確顯示。所以這個改進對於上傳中文圖片的意義不是很大,還是要用其它辦法來實現。

      以下介紹修改的辦法。

      下載FCKeditor的JAVA源碼fckeditor-java-2.6-src.zip,在解壓後的目錄裏找到/java-core/src/main/java/net/fckeditor/connector/Dispatcher.java。在項目中新建包net.fckeditor.connector,把上述JAVA文件複製到該目錄下。找到258行String fileName = FilenameUtils.getName(uplFile.getName());這個就是上傳文件的文件件名,可以按你的需求對重命名這個文件。(不同的版本代碼所在位置可能會有所不同,但FilenameUtils.getName這個方法一般不會變,找不到的時候在源碼中搜索一下就可以了)。

      一般來說可以按以下三種規則來重命名文件:

      1.生成32位的UUID,開始時候我也是用這個方法,不過後來覺得這樣生成的文件名都是無意義的字符串,對於客戶來說其實跟亂碼是一樣的,一段時間後想找會上傳過的文件根本不可能。

      2.利用系統時間來命名文件。這個很容易實現。

      3.把中文的字符轉化成拼音字母。這個需要pinyin4j這個jar包,下載的鏈接是http://sourceforge.net/projects/pinyin4j/files/ 

      在Dispatcher.java中加入以下代碼,這樣上傳文件名“中文.jsp”的文件就會被重命名爲“zhongwen.jsp”。

 

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章