Hướng dẫn convert uploaded image to base64 javascript - chuyển đổi hình ảnh đã tải lên sang javascript base64
Chính xác những gì bạn cần :) Bạn có thể chọn phiên bản gọi lại hoặc phiên bản hứa hẹn. Lưu ý rằng những lời hứa sẽ chỉ hoạt động trong IE với Promise polyfill lib. Bạn có thể đặt mã này một lần trên một trang và chức năng này sẽ xuất hiện trong tất cả các tệp của bạn. Show
Phiên bản gọi lại
Phiên bản hứa
HTML
Trong hướng dẫn ngắn này, chúng tôi khám phá 3 phương thức JavaScript khác nhau để chuyển đổi hình ảnh thành chuỗi base64. Chúng tôi xem xét chuyển đổi một đối tượng tệp hoặc blob, phần tử canvas và thẻ hình ảnh. Trong tất cả các ví dụ dưới đây, chúng tôi giả sử chúng tôi đã có sẵn đối tượng 0 hoặc 1.Chúng tôi sẽ chuyển đổi hình ảnh thành DataURL, chúng tôi có thể sử dụng chức năng bên dưới để chuyển đổi DataURL thành chuỗi Base64.
Bắt đầu nào. Hình ảnh là một đối tượng tệp hoặc blobKhi hình ảnh là đối tượng 0 hoặc 1, chúng ta có thể sử dụng API 4, vui lòng xem bài viết này về việc chuyển đổi tệp sang chuỗi cơ sở64 hoặc dataURL.Chúng tôi cũng sẽ sử dụng API Filereader khi chuyển đổi thẻ hình ảnh thành chuỗi base64. Hình ảnh là một phần tử canvasNếu chúng ta có 6 trên phần tử Canvas.
Theo mặc định, Canvas xuất ra PNG không mất, chúng ta có thể chuyển 7, 8 hoặc 9 cho phương thức 6 để có được một định dạng khác.Khi sử dụng 8 hoặc 9, chúng ta có thể vượt qua nén hình ảnh làm đối số cuối cùng, 3 có nghĩa là rất nhiều nén, 4 có nghĩa là không nén.
Hình ảnh là một phần tử IMGNếu hình ảnh của chúng tôi là một phần tử 6 hình ảnh SRC và chuyển đổi nó thành chuỗi base64.Ngoài ra, chúng ta có thể vẽ hình ảnh thành một khung vẽ và sau đó chuyển đổi khung vẽ thành một phần tử hình ảnh, điều này sẽ hữu ích nếu chúng ta đang tìm kiếm một định dạng hình ảnh cụ thể. Nếu hình ảnh được đặt trên máy chủ từ xa, cấu hình CORS của máy chủ từ xa phải cho phép tập lệnh cục bộ của chúng tôi truy cập hình ảnh. Tìm nạp nguồn hình ảnhLưu ý rằng loại MIME được trả về bởi máy chủ từ xa trong tiêu đề phản hồi 7 được phản ánh trong dataURL.Nếu loại MIME không chính xác, DataURL cũng sẽ không chính xác.
Vẽ hình ảnh vào một tấm bạtVẽ hình ảnh thành một khung vẽ trước tiên cho phép chúng tôi chuyển đổi nó sang một định dạng khác. Xin lưu ý rằng phương pháp này chậm hơn chỉ đơn giản là tìm nạp hình ảnh 8 như trong ví dụ trước.Một cảnh báo bổ sung là phần tử Canvas có kích thước tối đa, đối với một số trình duyệt, giới hạn kích thước này là vấn đề gây ra rất thấp khi chuyển đổi hình ảnh.
Gói lênChúng tôi đã chuyển đổi một ____10, 1, và thành dataURL và chúng tôi đã xem xét cách chuyển đổi dataURL thành chuỗi base64. Bằng cách xem xét các phương pháp khác nhau để chuyển đổi hình ảnh thành chuỗi Base64, giờ đây chúng ta biết những ưu và nhược điểm của từng phương pháp. |