Cách lưu base64 trong mysql

Trong MySQL, hàm

SELECT FROM_BASE64('Q2F0');
5 giải mã một chuỗi mã hóa base-64 và trả về kết quả. Cụ thể hơn, nó nhận một chuỗi được mã hóa theo quy tắc mã hóa cơ sở 64 được sử dụng bởi
SELECT FROM_BASE64('Q2F0');
6 và trả về kết quả được giải mã dưới dạng chuỗi nhị phân

cú pháp

Cú pháp diễn ra như thế này

FROM_BASE64(str)

Trong đó

SELECT FROM_BASE64('Q2F0');
7 là chuỗi mã hóa base-64 mà bạn muốn giải mã

Ví dụ 1 – Cách sử dụng cơ bản

Đây là một ví dụ để minh họa cách sử dụng cơ bản

SELECT FROM_BASE64('Q2F0');

Kết quả

+---------------------+
| FROM_BASE64('Q2F0') |
+---------------------+
| Cat                 |
+---------------------+

Vì vậy, trong ví dụ này, đối số của chúng ta là

SELECT FROM_BASE64('Q2F0');
8, là chuỗi mã hóa cơ số 64 cho Cat

Chúng ta có thể lấy chuỗi được mã hóa base-64 bằng cách chuyển

SELECT FROM_BASE64('Q2F0');
9 đến hàm
SELECT FROM_BASE64('Q2F0');
6

SELECT TO_BASE64('Cat');

Kết quả

SELECT FROM_BASE64('Q2F0');
0

Ví dụ 2 – Một chuỗi dài hơn

Đây là một ví dụ sử dụng một chuỗi dài hơn

SELECT FROM_BASE64('Q2F0');
1

Kết quả

SELECT FROM_BASE64('Q2F0');
2

Ví dụ 3 – Đối số không hợp lệ

Nếu đối số không phải là chuỗi cơ sở 64 hợp lệ, NULL sẽ được trả về

SELECT FROM_BASE64('Q2F0');
3

Kết quả

SELECT FROM_BASE64('Q2F0');
4

Ví dụ 4 – Đối số NULL

Bạn cũng sẽ nhận được NULL nếu bạn vượt qua

+---------------------+
| FROM_BASE64('Q2F0') |
+---------------------+
| Cat                 |
+---------------------+
1

SELECT FROM_BASE64('Q2F0');
6

Kết quả

SELECT FROM_BASE64('Q2F0');
0

Ví dụ 5 – Thiếu đối số

Bạn sẽ gặp lỗi nếu không vượt qua đối số

SELECT FROM_BASE64('Q2F0');
1

Kết quả

SELECT FROM_BASE64('Q2F0');
2

Ví dụ 6 – Quá nhiều đối số

Bạn cũng sẽ gặp lỗi nếu chuyển quá nhiều đối số

SELECT FROM_BASE64('Q2F0');
3

Kết quả

SELECT FROM_BASE64('Q2F0');
2

Base64 còn được gọi là Mã hóa chuyển nội dung Base64 là một kỹ thuật mã hóa và giải mã được sử dụng để chuyển đổi dữ liệu nhị phân sang định dạng văn bản Tiêu chuẩn trao đổi thông tin (ASCII) của Mỹ và ngược lại. — Công nghệ

Bất kỳ dữ liệu nhị phân nào (chẳng hạn như hình ảnh trong trường hợp này) đều có thể được mã hóa bằng base64 và dữ liệu được mã hóa thường bao gồm 64 ký tự tiếng Anh mà con người không thể đọc được. Khi một hình ảnh được lưu trữ bằng base64 vào cơ sở dữ liệu như MongoDB, hình ảnh được lưu trữ dưới dạng một chuỗi trong cơ sở dữ liệu. Chuỗi này sau đó có thể được giải mã trở lại dạng ban đầu khi cần

Tạo máy chủ của bạn

Vì ứng dụng của chúng tôi có phần giao diện người dùng và phần phụ trợ được tách biệt, nên chúng tôi sẽ bắt đầu bằng cách tạo máy chủ của mình. Trước hết, chúng tôi sẽ tạo một thư mục có tên là máy chủ, sử dụng lệnh bên dưới

FROM_BASE64(str)
2

Tiếp theo, chúng tôi sẽ khởi tạo dự án bằng cách sử dụng lệnh bên dưới. Lệnh này tích hợp gói. json trong ứng dụng của bạn. Bưu kiện. json giúp theo dõi tất cả các gói và phần phụ thuộc của chúng tôi

FROM_BASE64(str)
3

Tiếp theo, chúng tôi sẽ cài đặt tất cả các phụ thuộc cần thiết. Chúng tôi sẽ cài đặt chúng trên một dòng bằng mã bên dưới;

FROM_BASE64(str)
4
  • Cors. Đây là cách viết tắt của “Chia sẻ tài nguyên nguồn gốc chéo” được sử dụng để bảo vệ máy chủ web khỏi bị truy cập bởi một trang web khác
  • Thể hiện. Đây là một nút. js giúp tạo điều kiện thuận lợi cho việc tạo nhanh các ứng dụng dựa trên nút
  • cầy mangut. Đây là thư viện Mô hình hóa dữ liệu đối tượng (ODM) giúp truy cập, giao tiếp và sử dụng MongoDB dễ dàng hơn

Trong máy chủ, chúng ta cần tạo một thư mục khác để chứa mô hình và lược đồ

FROM_BASE64(str)
5

Lược đồ của chúng tôi sẽ giống như sau

Bạn sẽ nhận thấy rằng tôi chỉ tạo một khóa đối tượng trong lược đồ, đó là myFile. Khóa này có một giá trị chuỗi sẽ chứa dữ liệu được mã hóa từ hình ảnh.
Tiếp theo, chúng ta sẽ tạo một tệp trong thư mục máy chủ có tên là “index. js'' sẽ chứa phần còn lại của mã của chúng tôi.

FROM_BASE64(str)
6

chỉ mục của chúng tôi. tệp js sẽ chứa các mục sau

Tại thời điểm này, chúng tôi đã hoàn thành với máy chủ. Vì vậy, chúng tôi sẽ khởi động máy chủ của mình bằng cách sử dụng lệnh bên dưới

FROM_BASE64(str)
7

Tạo ứng dụng React của chúng tôi

Bây giờ là lúc để chuyển sang phía máy khách của ứng dụng của chúng tôi. Chúng ta sẽ bắt đầu bằng cách tạo một ứng dụng phản ứng và thay đổi nó vào thư mục ứng dụng. Sau đó, chúng tôi sẽ tạo một thư mục mới có tên là “các thành phần” và sau đó là một tệp jsx có tên là “ImageUploader”

FROM_BASE64(str)
8

Phần phụ thuộc duy nhất mà chúng tôi yêu cầu là axios, ứng dụng khách HTTP dựa trên lời hứa được sử dụng để thực hiện các yêu cầu HTTP. Nó có thể được cài đặt bằng lệnh sau;

FROM_BASE64(str)
9

Trong ImageUploader. jsx, các dòng mã sau sẽ được thêm vào

Đoạn mã trên trông giống như một tổ chức các chức năng và được chia nhỏ như sau

  • Hàm createImage sử dụng axios để gửi dữ liệu qua máy chủ đến cơ sở dữ liệu
  • Hàm createPost tạo hình ảnh mới không đồng bộ hoặc trả về lỗi tùy thuộc vào các tham số được nêu trong máy chủ
  • Hàm convertToBase64 sử dụng JavaScript FileReader có phương thức readAsDataURL để đọc dữ liệu nhị phân và mã hóa nó dưới dạng URL dữ liệu base64. Đúng như tên gọi, công việc của nó là chuyển đổi các tệp thành base64
  • Hàm handleFileUpload nhắm mục tiêu tệp sẽ được tải lên và tệp được chuyển đổi không đồng bộ thành base64 bằng hàm convertToBase64. Dữ liệu được mã hóa sau đó được sử dụng để cập nhật trạng thái postImage
  • Hàm handleSubmit sau đó gửi dữ liệu được mã hóa dưới dạng chuỗi tới cơ sở dữ liệu khi nhấp vào nút gửi

Phía máy khách của ứng dụng của chúng tôi có thể được bắt đầu bằng cách sử dụng lệnh bắt đầu npm trong thiết bị đầu cuối. Khi cả phía máy khách và phía máy chủ đang chạy đồng thời, bạn có thể tải lên bất kỳ hình ảnh nào và hình ảnh đó sẽ được lưu trong cơ sở dữ liệu. Để rõ ràng, tôi đã tải lên một hình ảnh và với MongoDB Compass, chúng ta có thể truy cập dữ liệu như hình bên dưới

Từ hình ảnh trên, bạn có thể thấy rằng hình ảnh tải lên được lưu trữ dưới dạng chuỗi. Chuỗi này sau đó có thể được giải mã và sử dụng khi cần thiết

Phần kết luận

Nếu bạn đã làm được đến thời điểm này, xin chúc mừng. Bạn đã học thành công cách lưu trữ hình ảnh trong cơ sở dữ liệu bằng base64. Nếu bạn thích hướng dẫn này, vui lòng cho tôi điểm cao. Đối với nhận xét, đóng góp hoặc câu hỏi, chỉ cần theo dõi tôi trên Twitter. Cảm ơn

Làm cách nào để lưu chuỗi Base64 trong cơ sở dữ liệu?

base64 là văn bản thuần túy, cột varchar(max) có thể lưu nó . string myData = “Đây là một chuỗi để mã hóa. ”;

Bạn có thể lưu trữ Base64 trong SQL không?

Các sơ đồ mã hóa Base64 thường được sử dụng khi có nhu cầu mã hóa dữ liệu nhị phân cần được lưu trữ và truyền qua phương tiện được thiết kế để xử lý dữ liệu văn bản. Từ định nghĩa này, chúng tôi hy vọng rằng Nội dung Base64 được lưu trữ trong kiểu dữ liệu VARCHAR(max) trong SQL Server .

Chúng tôi có thể lưu trữ Base64 trong cơ sở dữ liệu không?

Nói chung là không . Base64 sẽ chiếm nhiều không gian hơn mức cần thiết để lưu trữ những hình ảnh đó. Tùy thuộc vào kích thước hình ảnh của bạn và tần suất chúng được truy cập, việc đưa vào cơ sở dữ liệu thường không phải là áp lực tối ưu. Bạn nên lưu trữ chúng trên hệ thống tệp hoặc trong thứ gì đó như bộ lưu trữ Azure blob.

Kiểu dữ liệu cho Base64 trong MySQL là gì?

Dữ liệu được mã hóa Base64 là dữ liệu ký tự , vì vậy CLOB sẽ phù hợp.