Neste artigo você vai aprender a como converter tamanho de arquivo em bytes, ou seja, deixar essa informação de fácil leitura para humanos

converter tamanho de arquivo em bytes capa

Fala programador(a), beleza? Bora aprender mais sobre unidades de tamanho de arquivo com JavaScript!

Há um famoso snippet na internet, que nos permite conveter bytes para a representação correta para humanos

Ou seja, se estiver com unidades para mega bytes, a representação será em MB, se for giga bytes, terá um GB e assim por diante

Podemos até configurar se a representação é feita por 1000 ou 1024

A função é esta:

function humanFileSize(bytes, si=false, dp=1) {
  const thresh = si ? 1000 : 1024;

  if (Math.abs(bytes) < thresh) {
    return bytes + ' B';
  }

  const units = si 
    ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] 
    : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
  let u = -1;
  const r = 10**dp;

  do {
    bytes /= thresh;
    ++u;
  } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);


  return bytes.toFixed(dp) + ' ' + units[u];
}


console.log(humanFileSize(242342423))  // 231.4 GiB
console.log(humanFileSize(6000, true))  // 6.0 kB
console.log(humanFileSize(1000000)) // 976.6 KiB
console.log(humanFileSize(1000000, true)) // 1.0MB
console.log(humanFileSize(200000000000000000, true)) // 200.0 PB

Os argumentos da função fazem o seguinte:

  • bytes: Quantidade de bytes do arquivo;
  • si: Se true temos valores por 1000, se não, por 1024, padrão SI ou IEC, respectivamente;
  • dp: Número de casas decimais para serem exibidas;

Dentro da função temos a leitura dos bytes, e também a conversão dos mesmos, para uma alta lista de possibilidades

Dependendo do tamanho do arquivo você entrará nas diferentes caregorias, como: KB, MB, GB, TB e outras

Deixe um comentário contando o que achou deste artigo 🙂

Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:

Conclusão

Neste artigo você viu como converter tamanho de arquivo em bytes

Utilizamos uma função famosa na internet que faz este trabalho para nós

Ela nos permite configurar qual o padrão que precisamos (SI ou IEC) e também a quantidade de casas decimais que serão exibidas

Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.

Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!

Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments