Tôi đang cố gắng giải mã chuỗi base64 cho hình ảnh trở thành nhị phân để có thể tải xuống và hiển thị cục bộ bằng hệ điều hành.Lỗi ngoại lệ DOM 5 CHARALID CHARACTER trên chuỗi hình ảnh base64 hợp lệ trong javascript
Chuỗi tôi đã hiển thị thành công khi được đặt dưới dạng src của phần tử HTML IMG với dữ liệu URI lời nói đầu (dữ liệu: img/png; base64,) nhưng khi sử dụng hàm atob hoặc hàm đóng goog không thành công.
Tuy nhiên giải mã thành công khi đặt tại đây: http://www.base64decode.org/
Bất kỳ ý tưởng?
EDIT: Tôi đã thành công để giải mã với một thư viện khác với hàm JS tích hợp sẵn. Tuy nhiên, nó vẫn sẽ không mở cục bộ - trên một máy Mac cho biết nó bị hỏng hoặc ở định dạng không xác định và không thể mở được.
Mã này chỉ là một cái gì đó như:
imgEl.src = 'data:img/png;base64,' + contentStr; //this displays successfully
decodedStr = window.atob(contentStr); //this throws the invalid char exception but i just
//used a different script to get it decode successfully but still won't display locally
chuỗi base64 chính nó là quá dài để hiển thị tại đây (giới hạn là 30.000 ký tự)
Cảm ơn! Nó là một cuộc sống tiết kiệm. Tôi đã có một PDF dài gọn gàng trong Base64, và nó đã tạo ra lỗi trong ứng dụng di động nhưng đã làm việc trong trình duyệt web. Xóa không gian đã hoạt động. – Amod
Cảm ơn bạn vì điều này. Tôi đã có một vấn đề tương tự nhưng nó là một trở về vận chuyển dấu vết mà chỉ hiển thị trong Safari. Phương pháp tương tự này đã sửa nó. – echappy
Rails dường như đã băm base64 khá thường xuyên và Chrome sẽ bỏ qua khoảng trắng trong khi Safari thì không. Đề xuất 'replace' của bạn khiến ứng dụng của tôi hoạt động trên Safari một lần nữa. Cám ơn vì cái này! – Alex