2015-09-06 98 views
0

我從base64中的表單接收圖像,我想將其轉換回PNG文件類型。將base64轉換爲圖像:不正確的填充錯誤

爲此我嘗試以下方法

attempt1 = base64.b64decode(picture.data) 
attempt2 = picture.data.decode('base64') 

,但我收到的錯誤Error: Incorrect padding

我看到this answer並嘗試使用該功能,但是我得到相同的錯誤。

我該怎麼辦才能解決這個問題?謝謝。

編輯

我的base64圖像看起來像這樣(字符的列表是更長的時間):

data:image/png;base64, OouhoGUiyf+YdiHl== 
+0

也許你可以提供關於你有數據,有多少個字符是它的一些信息?它是否以一系列'='結尾? – jojonas

+0

您是否從解碼過程中排除了'data:image/png; base64,'部分? – jojonas

+1

你傳遞的字符串中有哪部分被解碼?在你的例子中的「數據」是「OouhoGUiyf + YdiHl ==',沒有什麼比這更重要的了。 –

回答

0

看來,你的數據是DataURL方案

數據URL由四部分組成:前綴(數據:),指示數據類型的MIME類型,非文本的可選base64標記以及數據本身:

data:[<mediatype>][;base64],<data> 

你應該只提取<data>部分從您的字符串:

base64.decodebytes(picture.data.split(",")[1])