[英]“The string to be decoded is not correctly encoded ” error when trying to decode Base64 in JS which has been encoded in Java
嘗試將某些數據從Java傳遞到JS時遇到問題。 原始數據的類型為byte[]
。
在Java方面,我正在使用:
byte[] data = some_data;
return Base64.getEncoder().withoutPadding().encodeToString(data)
在JS方面,我嘗試使用:
atob(b64Data)
在執行此操作時,我遇到了以下主題的錯誤:
DOMException:無法在“窗口”上執行“ atob”:要解碼的字符串未正確編碼。
注意:刪除.withoutPadding()
得到相同的結果。
我的問題是,如何重做代碼以使錯誤不再出現?
看來問題在於問題是Spring端通過WebSocket / SockJS的STOMP客戶端,而不是編碼數據本身。
盡管數據是通過帶有簽名public String getDataForExcelFile
的方法發送的,但通過WebSocket獲得的結果如下:
FrameImpl {command, headers, ack, binaryBody, body, (...) }
這樣反而atob(b64Data)
我需要使用atob(b64Data.body)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.