Exemplos de uso


01. Adicionando um documento ou imagem a um cadastro utilizando a classe FileStorage

02. Obtendo atributos do arquivo

03. Obtendo arquivos vinculados a um cadastro




Adicionando um documento ou imagem a um cadastro utilizando a classe FileStorage

Para adicionar um arquivo, iremos utilizar os métodos addFile e linkFile da classe FileStorage.

O método addFile irá criar o arquivo na Virtual File System ou na LobStorage, armazenando o arquivo no local de armazenamento especificado nas propriedades storageClassKey e storageKind configurada na classe filha de Relações entre cadastros e arquivos. Veja o manual Vincular arquivos a cadastros para mais detalhes.

O método linkFile irá realizar a vinculação do arquivo criado com a chave do registro de cadastro de acordo com as propriedades de relacionamento linkFieldName e linkedTableName configurada na classe filha de Relações entre cadastros e arquivos.

Segue exemplo abaixo.

const FileStorage = require('@nginstack/engine/lib/file-storage/FileStorage');

const fileStorage = new FileStorage(-1898141861 /* Imagens de usuários */);
const userKey = 2149642
const filename = 'imagem_usuario.jpg';
const attributes = {};
const file = new File(filePath);
let fileKey = null;
try {
  fileKey = fileStorage.addFile(filename, file, attributes);
} finally {
  file.close();
}
fileStorage.linkFile(fileKey, userKey);

Obtendo atributos do arquivo

É possível obter os atributos do arquivo importado a partir da chave do arquivo da Virtual File System.

Segue exemplo abaixo.

const FileStorage = require('@nginstack/engine/lib/file-storage/FileStorage');

const fileStorage = new FileStorage(-1898141861 /* Imagens de usuários */);
const fileKey = 2149642;
const fileAttributes = fileStorage.getExtraFileAttributes(fileKey);

Obtendo arquivos vinculados a um cadastro

Segue exemplo abaixo.

const FileStorage = require('@nginstack/engine/lib/file-storage/FileStorage');

const fileStorage = new FileStorage(-1898141861 /* Imagens de usuários */);
const userKey = 2149642;
fileStorage.findLinkedFiles(userKey);