Tôi đang cố gắng sử dụng FileSaver.js để tải xuống tệp PNG đang được phân phối từ ứng dụng nhanh của tôi. Các tệp đang được gửi dưới dạng chuỗi được mã hóa base64, nhưng khi tôi cố gắng sử dụng FileSaver.js để lưu chúng, chúng sẽ bị hỏng.Lưu tệp PNG bằng FileSaver.js
Đây là cách tôi đang cố gắng để cứu họ:
var blob = new Blob([base64encodedString], {type: "data:image/png;base64"});
saveAs(blob, "image.png");
Tôi cũng đã sử dụng phương pháp này tiết kiệm những hình ảnh, nhưng nó không hoạt động nếu base64encodedString trở nên quá lớn:
var download = document.createElement('a');
download.href = 'data:image/png;base64,' + base64encodedString;
download.download = 'reddot.png';
download.click();
Tôi đang làm gì sai với FileSaver.js?
Kiểm tra chuỗi base64 và đảm bảo nó hiển thị hình ảnh, bạn có thể sử dụng trình chuyển đổi base64 trực tuyến cho điều này nếu cần. nó có thể bị hỏng trước khi bạn gửi cho Trình tiết kiệm tệp để kiểm tra xem nó có hợp lệ trước không. –
@JoshLeeDucks Tôi đã cố gắng chuyển đổi nó bằng công cụ trực tuyến, nhưng chưa thành công, nhưng khi tôi sử dụng phương pháp thứ hai để tải xuống (hình ảnh nhỏ nhất) nó hoạt động để nó cũng hoạt động cho phương pháp Blob. – martin