Ext.ux.uploaddialog3.0上傳文件亂碼問題

  Ext.ux.uploaddialog是擴展出來的一個批量上傳文件組件。EXT官網上是有下載的。不過官網上下載的組件默認只支持EXT2.0。並不支持3.0版本。主要是2.0和3.0的一些元素的獲取方式不一樣。我自己從網上搜索了多種針對3.0的修改版本並自己進行了一些修改。改正了網上流傳版本的一些圖標顯示問題等。目前我修改過的這個擴展組件已經上傳到CSDN上。地址:http://download.csdn.net/source/2990333

  然後說到中文文件上傳亂碼問題,因爲這個批量上傳組件的上傳機制其實和form設置了fileupload:true之後上傳文件的機制一樣的。都是傳一個未編碼的stream流到後臺的。而我的項目中使用了ssh,在struts中設置了編碼。所以傳到後臺時文件名稱就是亂碼。幾經波折。最後在Ext.ux.uploaddialog中修改了post參數。使其在post時對文件名進行了編碼。具體代碼:

。然後大家也能看出來。我這樣寫了之後就決定了後臺接收文件名的變量只能是'upLoadFileName'。算是一個弊端吧。然後在後臺接收到文件名後進行了一次解碼。

 

這裏要注意一下,網絡上多是在前臺進行2次編碼,後臺進行一次解碼。這是可能是由於他們沒有使用struts吧?我也不是很清楚。而在後臺對前臺傳過來的相應變量進行賦值時會進行一次解碼。但是這次解碼的結果是不對的。必須再使用java.net.URLDecoder.decode進行一次解碼。對於我們現在的項目來說。在對後臺相應變量賦值前已經由struts又進行了一次UTF-8編碼。所以在前臺是不需要進行2此編碼的。

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