Можно ли загрузить только определенную часть дополнительного приложения? - PullRequest
0 голосов
/ 24 марта 2019

Я загружаю аудиофайлы в свой Azure BLOB-объект, и я хотел бы знать, возможно ли загрузить только те части аудио, которые я хочу? кстати, я использую nodeJs
Спасибо!

1 Ответ

1 голос
/ 24 марта 2019

Я загружаю аудиофайлы в свой Azure BLOB-объект, и я хотел бы знать, возможно ли загрузить только те части аудио, которые я хочу?

Да, это, конечно,можно скачать порцию блоба.BLOB-объекты Azure поддерживают чтение диапазона байтов.Например, допустим, вы хотите загрузить из файла только первые 1 КБ данных.Вот как вы могли бы загрузить эти данные:

import azure from 'azure-storage';
const ms = require('memory-streams');

const chunkStart = 0;
const chunkEnd = 1023;
const connectionString = 'your-azure-storage-connection-string';
const blobService = azure.createBlobService(connectionString);

const writableStream = new ms.WritableStream({
  highWaterMark: (chunk.end - chunk.start) * 2,
  writableHighWaterMark: (chunk.end - chunk.start) * 2,
});

const requestOptions = {
  rangeStart: chunkStart,
  rangeEnd: chunkEnd
};

blobService.getBlobToStream('container-name', 'blob-name', writableStream, requestOptions, (error, result, response) => {
  if (error) {
    console.log('Error occurred while downloading chunk!');
  } else {
    const dataBuffer = writableStream.toBuffer();
    console.log('Blob chunk downloaded!');
  }
});

Учитывая, что вы упомянули, что храните аудиофайл, обратите внимание, что вы не можете указать Azure Storage загрузить «x» длительность аудио (например,загрузить первые 30 секунд аудио), поскольку хранилище Azure рассматривает все большие двоичные объекты как набор байтов и не знает, является ли файл аудиофайлом или чем-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...