ios10系統如下原生傳來的base64圖片沒法轉化爲二進制

  最近在作和原生ios交互上傳圖片的時候,遇到原生傳來的以base64圖片位沒法轉化爲二進制。由於前端上傳圖片的方式是以二進制的方式上傳,在ios10 和安卓上,上傳圖片是能夠的;在ios10如下,能夠在根據base64能夠在頁面顯示,也能打印出base64位編碼;可是在執行atob的方法就報錯;前端

報錯緣由以下:ios

 

最開始base64轉二進制的方法:dom

修改後的代碼,其實修改了一行代碼:編碼

var byteString = atob(base64Data.split(',')[1].replace(/\s/g, ""));

 

  在比較Android傳來的base64和ios10如下傳來的base64對比,發現他們是有區別;初步判定是ios10如下傳來的base64有空格,緣由是他們在換行的時候,出現的轉義符,致使atob這個沒法正常的轉化爲二進制。會報上面的錯誤。spa

參考:https://dracoblue.net/dev/fix-dom-exception-5-invalid-character-with-atob/.net

相關文章
相關標籤/搜索