Go Base64 圖片解碼
使用 HTML5 畫布時,通常會取得 Base64 編碼的圖片資料 URL。這些字串包含資料前綴和 Base64 編碼的圖像資料本身。
問題:
常見的一個問題是在以下情況下出現「未知影像格式」錯誤:嘗試使用解碼 Base64編碼的圖像image.DecodeConfig().
解決方案
1.註冊影像格式處理程序:
1.註冊影像格式處理程序:
import _ "image/png"
image .DecodeConfig() 函數僅識別在執行之前註冊了處理程序的圖像格式。對於經常遇到的PNG圖片,導入image/png包:
透過導入該包,註冊了PNG格式處理程序,讓image.DecodeConfig()成功解碼PNG圖片。
2。刪除資料前綴:
input := "data:image/png;base64,iVkhdfjdAjdfirtn=" b64data := input[strings.IndexByte(input, ',')+1:]
解碼前應刪除資料 URL 中的資料前綴(例如 data:image/png;base64,)。更有效的方法是對輸入字串進行切片:
此切片操作會建立一個新的字串標頭,而不複製數據,從而提高效能。 一旦格式化註冊處理程序並刪除資料前綴後,image.DecodeConfig() 可以成功解碼 PNG 影像並提供其寬度和高度資訊。以上是如何在 Go 中正確解碼 Base64 編碼的圖像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!