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
Nota |
---|
A partir da versão: 1.8. |
...
1- |
...
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.
...