Servidor relata tamanho de arquivo incorreto ao baixar um arquivo grande

1

Eu tenho um grande arquivo tarball em um servidor web OS X que eu carreguei via sshfs. O arquivo no meu computador antes do upload é 5345834658 bytes. O arquivo após a cópia é 5345834658 bytes no servidor para que tudo pareça ter ido corretamente. Se eu copiar o arquivo para outro local no servidor, também são 5345834658 bytes.

O problema é quando tento fazer o download do arquivo. A caixa de diálogo do Firefox diz "Arquivo Gzip (1,0 GB)" e o arquivo baixado é de apenas 1050867362 bytes. Se eu usar o curl para baixar o arquivo, minha máquina local ou o próprio servidor, eu só recebo 1050867362 bytes.

Estou pensando em algo sobre o servidor web é configurado para limitar o tamanho máximo do arquivo. Existe uma maneira de contornar isso? Estou bem dividindo o arquivo no servidor, desde que haja uma maneira de recombinar as partes, mas eu realmente gostaria de poder baixar o arquivo grande. Existe um motivo para limitar o tamanho máximo de download de arquivos?

    
por StrongBad 07.11.2014 / 22:19

1 resposta

3

O tamanho do arquivo que você está obtendo através do servidor HTTP é exatamente o que resta de 5345834658 mod 4294967296. Isso significa que o servidor da Web estourou um inteiro de 32 bits e está usando o restante como o tamanho do arquivo.

Você precisa atualizar para um servidor da Web que suporte arquivos grandes (> 4GiB).

    
por 07.11.2014 / 22:33