gigachat-node
Version:
The unoffical JavaScript/TypesSript library for the GigaChat API
51 lines (50 loc) • 2.23 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
/**
* Класс для работы с файлами при загрузке через форму. Автоматически определяет MIME-тип и размер файла.
*
* @class
* @property {string} name - Имя файла (например: "изображение.png")
* @property {string} mimeType - Определенный MIME-тип на основе расширения файла
* @property {number} size - Размер файла в байтах
*/
export declare class FormDataFile {
/** Базовое имя файла, извлеченное из пути */
readonly name: string;
/** Автоматически определенный MIME-тип */
readonly mimeType: string;
/** Размер файла в байтах */
readonly size: number;
/** Полный путь к файлу */
private readonly filePath;
/**
* Создает экземпляр FormDataFile
* @constructor
* @param {string} pathToFile - Абсолютный или относительный путь к файлу
* @throws {Error} Если файл недоступен
*/
constructor(pathToFile: string);
/**
* Определяет MIME-тип по расширению файла
* @private
* @returns {string} MIME-тип из предустановленных значений или 'application/octet-stream'
*/
private detectMimeType;
/**
* Получает размер файла с помощью синхронного метода stat
* @private
* @returns {number} Размер файла в байтах
* @throws {Error} Если файл недоступен
*/
private getFileSize;
/**
* Читает содержимое файла в буфер
* @public
* @returns {Buffer} Содержимое файла в бинарном виде
* @throws {Error} Если не удалось прочитать файл
* @example
* const file = new FormDataFile('документ.pdf');
* const buffer = file.readFile();
*/
readFile(): Buffer;
}