Trong một bài viết trước đây, tôi đã giới thiệu với các bạn một cách thủ công để tạo được một file test data dạng ảnh có kích thước như mong muốn. Tham khảo link: https://viblo.asia/lekhuyen/posts/YAQrMJXjv40E Tuy nhiên khi có ý định sử dụng cách này để tạo một loạt các file có kích thước từ 1MB đến 20MB thì tôi mới thấy có rất nhiều vấn đề nảy sinh:
Bài toán đặt ra: Làm sao để có một phương pháp nào khác đảm bảo được các yêu cầu:
Sau nhiều lần tìm tòi, thử nghiệm, tôi đã tìm ra một phương pháp có thể đáp ứng được 2 yêu cầu trên. Đó là vận dụng Base64 kết hợp dùng các tool decode/encode để chỉnh sửa dung lượng của ảnh. 1. Tìm hiểu về Base641.1. Base64 là gì? Base64 là một giải thuật mã hóa chuỗi ký tự bằng cách thay thế các ký tự trong bảng mã ASCII 8 bits thông dụng thành bảng mã 6 bits. Base64 thường được sử dụng trong việc mã hóa và truyền tải email. Tuy nhiên, ngày nay Base64 đã sử dụng rộng rãi hơn: để mã hóa các tập tin đa phương tiện (hình ảnh, âm thanh, video,…) ứng dụng vào việc truyền tải hình ảnh trên website. Tổng cộng 64 ký tự trong Base64 là đại diện cho 64 ký tự trong bãng mã ASCII: biểu diễn 64 giá trị từ 0 đến 63 như sau:
1.2. Chuyển đổi file sang dạng Base64 như thế nào? Việc chuyển đổi sang dạng Base64, sẽ theo các bước như sau:
1.3. Công cụ thực hiện chuyển đổi ảnh sang Base 64 và ngược lại: Hiện nay đã có sẵn rất nhiều trang hỗ trợ chuyển đổi online từ ảnh sang Base64 và ngược lại. Mỗi trang lại có những ưu nhược điểm riêng, các bạn có thể thử nghiệm và chọn ra trang đáp ứng được yêu cầu của mình. Bản thân tôi thì lựa chọn 2 trang sau:
Ưu điểm nổi bật so với các trang khác:
_Nhược điểm: _ Bản thân mỗi trang cũng đều cung cấp tính năng để convert ngược lại:
Tuy nhiên các tính năng đó đều bị hạn chế nhiều, ví dụ như:
Đó là lý do tại sao tôi sử dụng kết hợp cả 2 trang này để phục vụ cho mục đích chỉnh sửa dung lượng ảnh của mình. 2. Cách ứng dụng Base64 chỉnh sửa dung lượng ảnhĐể có được 1 file ảnh có dung lượng mong muốn, bạn hãy thực hiện lần lượt theo các bước sau đây: 2.1. Convert từ ảnh sang Base64: Dùng http://base64image.org/ chuyển 1 file ảnh sang dạng Base64, chúng ta sẽ có được 1 giá trị dạng Text (tạm gọi là Base64Value)
2.2. Chỉnh sửa nội dung text Base64Value Cần thực hiện chỉnh sửa tuân theo quy tắc như sau để đảm bảo file không bị lỗi:
Ví dụ như hình sau: 2.3. Thêm phần định dạng Base64 image Thêm đoạn text "data:image/jpeg;base64, " vào trước của Base64Value vừa chỉnh sửa theo mẫu:
2.4. Convert từ Base64 sang ảnh
Chú ý Nếu sau khi convert từ Base64 thành file ảnh, ảnh không hiển thị thì cần kiểm tra lại việc edit Base64 value có bị lỗi hay không.
2.5. Kiểm tra và hoàn tất
Chúc bạn áp dụng phương pháp này thành công và không còn cảm thấy mệt mỏi với việc chuẩn bị các data test nữa. |