Раскрытие возможностей изображений в кодировке Base64: методы преобразования в BLOB-объекты в Azure

В современном цифровом мире изображения в кодировке 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. Вот обзор необходимых шагов:

  1. Создайте приложение логики и добавьте триггер HTTP в качестве отправной точки.
  2. Добавьте действие «Операции с данными – Создание» для декодирования изображения в формате Base64.
  3. Добавьте действие «Хранилище BLOB-объектов Azure — Создать BLOB-объект», чтобы создать BLOB-объект в нужном контейнере.