2017-08-23 23 views
1

我有一個應用程序,從URL下載一個txt文件,將其保存到存儲,然後我做一些解析。在Android和iOS的模擬器上,行爲與預期的一樣,工作正常。在實際的iPhone上,來自URL的流是空白的。Codename One - 從URL中下載txt文件不工作在iOS

public void getDailyMTX() { 
     String mtxURL = "https://someURLhere.com/file.txt"; 
     FileSystemStorage fs = FileSystemStorage.getInstance(); 
     Util.downloadUrlToStorage(mtxURL, fileName, true); 

     try { 
       InputStream is = fs.openInputStream(fileName); 
       s = Util.readToString(is, "UTF-8"); 
       Dialog.show("downloaded file", s, "OK", 
       null); 
      } catch (IOException e1) { 
       // handle exception 
      } 
     } 

我把Dialog.show()放在那裏用於調試目的,試圖幫助我看看發生了什麼。對話框彈出,它的主體是空白的。我很困惑,因爲在我的應用程序的早期版本,這段代碼正在工作。不知道我搞砸了什麼。謝謝!

+0

你是否檢查過任何錯誤的日誌? URL是否使用有效證書(符合ATS規則)?它實際上是否有效UTF-8? – jcaron

+0

是的,日誌中沒有發佈任何錯誤。該文件以UTF-8編碼。我試圖下載一些其他文件,以查看它是否是文件本身,但它的結果是一樣的。我會更加關注ATS的要求 - 我承認,我在這方面的知識非常薄弱。感謝您的建議。 – FlapsFail

回答

2

您正在下載的文件存儲,但是你想從FileSystemStorage閱讀。這是兩件不同的事情。在某些平臺上,它將存儲存儲在文件系統中,這就是爲什麼這可能在某些平臺上運行得很順利。但你不能指望這一點。

如果要使用FileSystemStorage,請使用Util.downloadUrlToFile進行下載。如果要使用存儲,請使用Storage.createInputStream來讀取文件。