簡體   English   中英

Base64 Android編碼為PHP解碼會出錯

[英]Base64 Android encode to PHP decode make error

我是法國人,所以我為我的英語感到抱歉。

我正在開發一個與PHP REST服務通信的Android應用程序。 因此,當我嘗試將圖像文件編碼為Base64時,如下所示:

InputStream fileInputStream = context.getContentResolver().openInputStream(uri);
BufferedInputStream in = new BufferedInputStream(fileInputStream);
StringWriter out = new StringWriter();
int b;
while ((b = in.read()) != -1)
    out.write(b);
out.flush();
out.close();
in.close();
String encoded = new String(android.util.Base64.encode(out.toString()
            .getBytes(), android.util.Base64.DEFAULT));

在服務器端,我做:

$data=base64_decode(chunk_split($base64BinaryData));

結果是我的圖像文件已損壞!

INFO:該圖像是由意圖在模擬器模式下進行android.provider.MediaStore.ACTION_IMAGE_CAPTURE活動創建的(avd 5554)

我已經閱讀了很多有關類似問題的討論,但是沒有什么能解決我的錯誤。

感謝幫助

問候,

你能丟下chunk_split嗎?

另外,您可以哈希兩個二進制文件嗎? 也許使用sha1看看它們是否真的不同?

我假設:

out.toString().getBytes()

是錯的。 什么是“出”? 如果是圖像,則需要獲取圖像的原始字節,而不是對象的字符串表示形式的字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM