Histórico da Página
...
Este evento permite personalizar a conversão de documento realizada pelo TOTVS Fluig Plataforma. Mais informações sobre ele podem ser encontradas no guia Conversores de Documentos.
ValidateUpload
A partir da versão: 1.8.0-XXXXXX
Este evento sempre é disparado antes de realizar upload de arquivo para a plataforma, seja por API Rest, Soap/Webservices ou FTP. Através dele é possível validar o MIMEType ou Extensão do arquivo que está sendo feito upload e poder bloquear. O evento não recebe parâmetros, porém temos acesso à função getValue.
Exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function validateUpload() {
// Exemplo de implementação
// CompanyId da empresa
var companyId = getValue("WKCompany");
// Nome do arquivo com extensão
var fileName = getValue("WKFileName");
// Tamanho do arquivo em bytes
var fileSize = getValue("WKFileSize");
// Caminho absoluto do arquivo
var filePath = getValue("WKFilePath");
// MimeType dos bytes do arquivo, ou seja, independente da extensão
var fileMimeType = getValue("WKFileMimeType");
// UserId do usuário que está realizando o upload
var userId = getValue("WKUser");
// A maioria dos mimetypes executáveis começam com "application/x-"
if (fileMimeType.indexOf("application/x-") !== -1) {
// Porém alguns tipos começam também com "application/x-", como por exemplo: .rar ou .7zip. Então caso deseja permití-los, pode ser feito assim:
if (fileMimeType.indexOf("application/x-rar-compressed") !== -1 || fileMimeType.indexOf("application/x-7z-compressed") !== -1) {
return;
}
throwsIfBlocked();
}
// Podemos bloquear qualquer outro mimetype, por exemplo:
if (fileMimeType.indexOf("application/octet-stream") !== -1 || fileMimeType.indexOf("application/exe") !== -1) {
throwsIfBlocked();
}
// Podemos bloquear também pela extensão do arquivo
if (fileName.match(/.*\.(sh|exe|msi|bat|app)/i)){
throwsIfBlocked();
}
// Função usada para logar uma mensagem no log do servidor e retornar o erro na tela
function throwsIfBlocked() {
log.warn("Usuário: '" + userId + "' da Empresa: '" + companyId + "' tentou realizar o upload "
+ "do Arquivo '" + fileName + "' com o Mimetype: '" + fileMimeType + "' e foi impedido!");
throw "Este formato de documento não está de acordo com as políticas de segurança e portanto não será permitida sua publicação na plataforma.";
}
} |
São disponibilizadas algumas propriedades referentes ao arquivo que está sendo feito upload através do método getValue.
Propriedade | Descrição | Tipo |
---|---|---|
WKCompany | Código da Empresa | int |
WKFileName | Nome do arquivo com extensão | String |
WKFileSize | Tamanho do arquivo em bytes | long |
WKFilePath | Caminho absoluto do arquivo | String |
WKFileMimeType | MimeType dos bytes do arquivo, ou seja, independente da extensão | String |
WKUser | Usuário logado | String |
ValidateCustomMetadata
Este evento sempre é disparado antes de salvar os valores dos campos customizados de um documento, tanto na publicação como edição. Através dele é possível alterar ou validar os valores dos campos customizados dos metadados de um documento. O evento recebe como parâmetro uma referência aos campos customizados.
...