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);