4D v16.3COMPRESS BLOB |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
COMPRESS BLOB
COMPRESS BLOB
O comando COMPRESS BLOB comprime o BLOB blob usando o algoritmo de compressão interno de 4D. Este comando só comprime o BLOB cujo tamanho é superior a 255 bytes. O parâmetro de compressão opcional permite definir a forma como o BLOB é compactado: Passe neste parâmetro uma das seguintes constantes, localizadas no tema BLOB:
Se passar outro valor ou se ignorar o parametro compressão, o método de compressão 1 é utilizado (algoritmo interno compacto). Após a chamada, a variável OK é definida como 1 se o BLOB foi bem compactado. Se a compressão não pôde ser executada, a variável OK é definida como 0. Se a compressão não pôde ser realizada devido à falta de memória ou porque o real tamanho do blob é menor que 255 bytes, nenhum erro é gerado e o método continua a sua execução. Nos demais casos (isto é, o BLOB estiver danificado), o erro -10600 é gerado. Esse erro pode ser tratado usando o comando ON ERR CALL. Depois que um BLOB foi compactado, você pode expandi-lo usando o comando ON ERR CALL. Para detectar se o BLOB foi compactado, use o comando BLOB PROPERTIES. Advertência: O BLOB comprimido ainda é um BLOB, então não há nada para impedi-lo de modificar o seu conteúdo. No entanto, se você fizer isso, o comando EXPAND BLOB não será capaz de descompactar o BLOB corretamente. Este exemplo testa se o BLOB vxMeuBlob é comprimido e, se não for, comprime-o: BLOB PROPERTIES(<span class="rte4d_prm">vxMeuBlob</span><gen9>;$vlComprimido;$vlTamanhoExpandido;$vlTamanhoAtual) Note, no entanto, que se você aplicar COMPRESS BLOB para um BLOB já compactado, o comando detecta-o e não faz nada. Este exemplo permite que você selecione um documento e, em seguida, comprima-o: $vhDocRef :=Open document("") Envio de dados HTTP "brutos" comprimidos usando GZIP: COMPRESS BLOB($blob;GZIP Best compression mode) A variável OK é definida como 1 se o BLOB foi compactado com sucesso, caso contrário, ela é definido como 0.
Ver também
|
PROPRIEDADES
Produto: 4D HISTÓRIA
Modificado: 4D v6.5.3 PALAVRAS CHAVES Compression, blob compression ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||