我試圖在sd卡上創建一個圖像文件,從調用Web服務後服務器向我發送的字節構建它(基本上:下載文件)。 我設法在客戶端的「東西」,並嘗試這些字節寫入文件,使用:Android:將字節寫入SD卡上的圖像文件
FileOutputStream fOut = null;
BufferedOutputStream bOs = null;
try {
fOut = new FileOutputStream(returnedFile);
bOs = new BufferedOutputStream(fOut);
bOs.write(bytesToWrite);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (bOs != null) {
bOs.close();
fOut.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
但圖像文件被破壞(其大小> 0KB,但打破)。 我最終用文本編輯器在我的電腦上打開了該文件,並且我看到一些初始文件數據(在發送之前)與最後一個不同。所以我猜猜是有某種編碼錯誤或類似的東西。 我很想知道如何使這項工作(從web服務器下載圖像文件,並在我的手機上打開)的想法。 PS。我也可以更改或獲取有關服務器配置的信息,因爲它是由我的一位朋友配置的。 PS2。我應該不能僅下載圖像,而是可以下載任何類型的文件。
您確定該響應不在Base64中嗎?我曾經遇到過這個問題,Base 64解碼解決了它! –
什麼是pData? – njzk2
sry,已更新pData.getBytes()已更改爲bytesToWrite(來自服務器的實際字節數) – DoruAdryan