2013-12-08 17 views
0

我有Nexus 4,它給我沒有問題。但是當我在micromax畫布上嘗試我的代碼時,它在嘗試使用編碼文件名保存文件時拋出IOException「無效參數」。Base64給出無效參數IOException在某些設備上

我正在使用這一行來轉換文件名。

Base64.encodeToString(name.getBytes(),Base64.DEFAULT)) 

其中name是文件名(例如:hello.jpg)。

基本上我想轉換文件名,以便沒有人甚至可以在SD卡中搜索它。

我認爲問題是FAT文件系統支持長達42個字符的文件名長度,但它產生更長的文件名。我也嘗試過URL安全,沒有填充,而不是默認的Base64。

我需要知道一些替代解決方案。

回答

0

我有固定的應用這個問題,但使用了不同的方法,而不是BASE64

+0

嗨,我刪除了鏈接到您的應用程序,因爲它是不相關的到手頭的問題/答案,並避免被標記爲垃圾郵件。但是,要使這個答案實際上成爲答案,請在此處描述您的解決方法。 – laalto

+0

我的解決方法是忽略它會通過catch(exception)顯示錯誤的設備上的編碼:D – IDS

0

我想這應該工作

String filename = Base64.encodeToString(url.getBytes(), Base64.URL_SAFE|Base64.NO_WRAP); 
0

我解決了這個用android.util.Base64代替Base64編碼類在Apache普通人(我不知道它是如何導入)。

相關問題