2012-06-19 109 views
0

我已經使用URLLoader和URLRequest從服務器獲取帶有日文文件名的文件。但是,我得到IO錯誤,該文件不存在(我仔細檢查該文件存在於服務器上,我可以得到其他文件與拉丁文名稱)。以下是我的代碼:如何在服務器上使用URLLoader和URLRequest從服務器獲取文件(使用日文文件名)

var loader:URLLoader = new URLLoader(); 
loader.dataFormat = URLLoaderDataFormat.BINARY; 
loader.addEventListener(Event.COMPLETE, this._onFileLoaded); 
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this._onSecurityError); 
loader.addEventListener(IOErrorEvent.IO_ERROR, this._onIOError); 
var urlRequest:URLRequest = new URLRequest("http://localhost/files/メイリオ.txt"); 
loader.load(urlRequest); 

有沒有辦法從服務器上使用AS3以日文文件名從服務器獲取文件? 任何幫助將不勝感激。

+0

你試圖加載該文件在瀏覽器中第一次? –

+0

我試過了,但是我得到了這個錯誤信息「HTTP Status 404 - /file/%E3%83%A1%E3%82%A4%E3%83%AA%E3%82%AA.txt 請求的資源(/檔案/%E3%83%A1%E3%82%A4%E3%83%AA%E3%82%AA.txt)不可用。「 –

回答

0

嘗試使用UTF-8 percent-encoding

嘗試使用這個文件名改爲:

var urlRequest:URLRequest = new URLRequest("http%3A%2F%2Flocalhost%2Ffiles%2F%E3%83%A1%E3%82%A4%E3%83%AA%E3%82%AA.txt"); 
+0

謝謝你的回答。我試圖使用escape()和encodeURI(),但不起作用。因爲我想在服務器上直接獲取文件而無需任何句柄來解析或解碼URI請求,所以編碼的URL不適用於URLRequest。 –

+0

好吧,我沒有任何其他線索......你確定它是同一個名字嗎?我的意思是,這些日本漢字可能會很棘手...嘗試複製並粘貼名稱。另外,你在使用什麼託管? [IIS](http://en.wikipedia.org/wiki/Internet_Information_Services)? – Veehmot

+1

我找到了原因。我測試並在本地Web服務器上運行。我部署到服務器,現在運行正常。無論如何,謝謝你的想法。 –

相關問題