Categorias

Retornar o tamanho em bytes por extenso

Esta função realiza uma conversão de bytes para Kb, Mb ou Gb dependendo do tamanho em bytes passados.

Por exemplo:

– Se for passado 500 a função retornará “500 bytes”
– Para 1024 o retorno será “1 Kb”
– Para 1048576 o retorno será “1 Mb”
– Para 1073741824 o retorno será “1 Gb”

Esta função pode ser muito útil na hora de mostrar o tamanho de um arquivo, por exemplo.

<%
'-----------------------------------------------------
'Funcao: getTamanho(ByVal Tamanho)
'Sinopse: Converte o tamanho de bytes para Kb, Mb ou Gb
'Parametro(s):
'    Tamanho: Tamanho expressos em Bytes
'Retorno: String
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
Function getTamanho(ByVal Tamanho)
    On Error Resume Next
    Dim Retorno
    Tamanho = CLng(Tamanho)
    If IsNumeric(Tamanho) Then
        If Tamanho >= 1073741824 Then
            Retorno = Round(((Tamanho/1024)/1024)/1024,1)
            Retorno = Retorno & " Gb"            
        ElseIf Tamanho < 1073741824 And Tamanho >= 1048576 Then
            Retorno = Round((Tamanho/1024)/1024,1)
            Retorno = Retorno & " Mb"
        ElseIf Tamanho < 1048576 And Tamanho >= 1024 Then
            Retorno = Round((Tamanho/1024),1)
            Retorno = Retorno & " Kb"
        Else 
            Retorno = Round((Tamanho),1)
            Retorno = Retorno & " bytes"
        End If
    Else
        Retorno = "n/a"
    End If
    'Retornando a função
    getTamanho = Retorno
End Function

'EXEMPLO DE CHAMADA 
Response.Write "Exemplo de Chamada:" & getTamanho(1073741824)
%>