В современном цифровом мире изображения в кодировке Base64 становятся все более популярными благодаря возможности встраивать изображения непосредственно в код. Однако при работе с Azure вам может потребоваться преобразовать эти изображения в кодировке Base64 в большие двоичные объекты. В этой статье мы рассмотрим различные методы решения этой задачи, используя простой язык и примеры кода. Итак, пристегнитесь и давайте окунемся в мир преобразования изображений в кодировке Base64 в большие двоичные объекты в Azure!
Метод 1. Использование SDK хранилища BLOB-объектов Azure для JavaScript
Первый метод предполагает использование SDK хранилища BLOB-объектов Azure для JavaScript. Этот пакет SDK обеспечивает простой способ работы с хранилищем BLOB-объектов Azure и поддерживает преобразование изображений в кодировке Base64 в BLOB-объекты. Вот пример фрагмента кода, который поможет вам начать:
const { BlobServiceClient } = require("@azure/storage-blob");
async function uploadBase64ImageToBlob(base64Image, containerName, blobName) {
const blobServiceClient = BlobServiceClient.fromConnectionString(connectionString);
const containerClient = blobServiceClient.getContainerClient(containerName);
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
// Convert base64 image to binary buffer
const buffer = Buffer.from(base64Image, "base64");
// Upload the buffer as a blob
await blockBlobClient.upload(buffer, buffer.length);
}
// Usage example
const base64Image = "YOUR_BASE64_ENCODED_IMAGE";
const containerName = "YOUR_CONTAINER_NAME";
const blobName = "YOUR_BLOB_NAME";
uploadBase64ImageToBlob(base64Image, containerName, blobName)
.then(() => console.log("Image uploaded successfully!"))
.catch((error) => console.error("Error uploading image:", error));
Метод 2. Использование функций Azure и Node.js
Другой подход — использовать функции Azure, которые позволяют запускать бессерверный код в ответ на события. Вы можете создать функцию, активируемую HTTP, которая принимает данные изображения в кодировке Base64, преобразует их в большой двоичный объект и сохраняет в хранилище BLOB-объектов Azure. Вот пример фрагмента кода с использованием Node.js:
const { BlobServiceClient } = require("@azure/storage-blob");
const { v4: uuidv4 } = require("uuid");
module.exports = async function (context, req) {
const base64Image = req.body.base64Image;
const containerName = "YOUR_CONTAINER_NAME";
const blobName = `${uuidv4()}.jpg`;
const blobServiceClient = BlobServiceClient.fromConnectionString(
process.env.AzureWebJobsStorage
);
const containerClient = blobServiceClient.getContainerClient(containerName);
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
// Convert base64 image to binary buffer
const buffer = Buffer.from(base64Image, "base64");
// Upload the buffer as a blob
await blockBlobClient.upload(buffer, buffer.length);
context.res = {
status: 200,
body: "Image uploaded successfully!",
};
};
Метод 3. Использование Azure Logic Apps
Если вы предпочитаете подход без кода, Azure Logic Apps может прийти вам на помощь. Благодаря встроенным соединителям и действиям вы можете легко создать приложение логики, которое получает данные изображения в кодировке Base64, преобразует их в большой двоичный объект и сохраняет в хранилище BLOB-объектов Azure. Вот обзор необходимых шагов:
- Создайте приложение логики и добавьте триггер HTTP в качестве отправной точки.
- Добавьте действие «Операции с данными – Создание» для декодирования изображения в формате Base64.
- Добавьте действие «Хранилище BLOB-объектов Azure — Создать BLOB-объект», чтобы создать BLOB-объект в нужном контейнере.