Ao tentar enviar uma nova foto de perfil no Mastodon, o navegador pode exibir a mensagem de erro Não foi possível salvar a foto do perfil e rejeitar a imagem. Esse erro ocorre porque o arquivo enviado não atende às regras rígidas de validação do servidor quanto a formato, dimensões ou tamanho. Neste artigo, você aprenderá as causas técnicas exatas desse erro e os métodos passo a passo para corrigi-lo tanto na interface web quanto por comandos diretos no servidor.
Principais conclusões: Resolvendo o erro de upload de foto de perfil no Mastodon
- Validação de formato de arquivo: O Mastodon aceita apenas JPEG, PNG, GIF e WebP — qualquer outro formato dispara o erro de salvamento.
- Limites de dimensão da imagem: O servidor rejeita imagens com largura ou altura superiores a 2048 pixels em qualquer lado.
- Limite de tamanho de arquivo: Perfis não podem enviar arquivos maiores que 2 MB, a menos que o administrador da instância aumente o limite.
Por que o Mastodon rejeita uploads de foto de perfil
O Mastodon usa a biblioteca Active Storage do Ruby on Rails para processar imagens enviadas. Quando você seleciona um arquivo, o servidor executa três verificações antes de salvar. Primeiro, valida o tipo MIME em uma lista de permissões. Segundo, lê as dimensões da imagem usando a gem fastimage e as compara com a largura e altura máximas permitidas pelo servidor. Terceiro, verifica o tamanho do arquivo em relação à configuração da instância. Se alguma verificação falhar, o Rails lança uma exceção ActiveRecord::RecordInvalid, e a interface web exibe Não foi possível salvar a foto do perfil sem salvar o arquivo.
Os limites padrão no código-fonte do Mastodon são os seguintes:
- Tipos MIME permitidos: image/jpeg, image/png, image/gif, image/webp
- Largura máxima: 2048 pixels
- Altura máxima: 2048 pixels
- Tamanho máximo de arquivo: 2 megabytes
Administradores de instância podem substituir o limite de tamanho definindo a variável de ambiente MAX_IMAGE_SIZE. Os limites de dimensão e formato são fixos no código e exigem alteração no código para serem modificados.
Passos para corrigir o erro de upload de foto de perfil
Siga estes passos em ordem. Comece pela correção mais simples e prossiga apenas se o erro persistir.
- Converta a imagem para um formato aceito
Abra a imagem em um editor como GIMP, Photoshop ou um conversor online. Exporte ou salve como JPEG, PNG, GIF ou WebP. Se o original for um arquivo BMP, TIFF ou HEIC, esta etapa por si só resolve o erro. - Redimensione a imagem para caber dentro de 2048 x 2048 pixels
No mesmo editor, defina a largura ou altura para 2048 pixels ou menos. Mantenha a proporção para evitar distorção. Imagens quadradas entre 400 e 1024 pixels funcionam melhor para avatares do Mastodon. - Reduza o tamanho do arquivo para menos de 2 MB
Se a imagem ainda estiver muito grande, diminua a qualidade JPEG para 80% ou reduza ainda mais as dimensões dos pixels. Use uma ferramenta online como TinyPNG para arquivos PNG. Verifique o tamanho final no gerenciador de arquivos. - Limpe o cache e os cookies do navegador para o domínio do Mastodon
Vá para as configurações do navegador e limpe as imagens em cache e os cookies para a URL da instância do Mastodon. Em seguida, feche e reabra o navegador. Um cache desatualizado pode interferir no processo de upload. - Envie a imagem usando um navegador ou dispositivo diferente
Tente Firefox, Chrome ou um navegador móvel. Se o upload funcionar em outro navegador, o navegador original tem uma extensão ou configuração que corrompe o arquivo antes de enviá-lo ao servidor. - Entre em contato com o administrador da instância para verificar os logs do servidor
Se todas as etapas do lado do cliente falharem, o servidor pode ter um limite personalizado ou um bug. O administrador pode executarsudo journalctl -u mastodon-web -n 50para ver as últimas 50 entradas de log e procurar por errosActiveRecord::RecordInvalidouFastImage::ImageFetchFailure.
Se o Mastodon ainda mostrar o erro após a correção principal
O upload da foto de perfil funciona em uma instância, mas não em outra
Diferentes instâncias do Mastodon podem ter limites de tamanho de arquivo diferentes. Uma imagem de 2,5 MB será enviada em uma instância com limite de 4 MB, mas falhará em uma instância com o limite padrão de 2 MB. Verifique a página “Sobre” da instância ou pergunte ao administrador o limite exato. Redimensione a imagem para ficar abaixo do menor limite que você encontrar.
A imagem passa em todas as verificações, mas ainda falha ao salvar
Um cabeçalho JPEG corrompido ou um perfil de cores incorporado pode fazer com que a gem fastimage falhe silenciosamente. Abra a imagem em um editor e reexporte-a sem metadados. Remova dados EXIF usando uma ferramenta como exiftool ou o JPEGmini baseado em navegador. Depois tente enviar novamente.
O erro aparece apenas em navegadores móveis
Alguns navegadores móveis comprimem imagens antes do upload, o que pode produzir um arquivo com um tipo MIME inesperado. Por exemplo, o Safari no iOS pode converter um JPEG em HEIC durante o upload. Use o aplicativo Mastodon para iOS ou Android em vez da interface web móvel. O aplicativo lida com a conversão de formato internamente.
Formatos de foto de perfil do Mastodon: limites padrão vs. substituições do administrador
| Item | Limite padrão do Mastodon | Método de substituição do administrador |
|---|---|---|
| Formatos permitidos | JPEG, PNG, GIF, WebP | Não pode ser substituído sem alteração no código |
| Largura máxima | 2048 pixels | Não pode ser substituído sem alteração no código |
| Altura máxima | 2048 pixels | Não pode ser substituído sem alteração no código |
| Tamanho máximo do arquivo | 2 MB | Definir variável de ambiente MAX_IMAGE_SIZE no .env.production |
A tabela acima mostra que apenas o tamanho do arquivo é configurável sem editar o código-fonte. Se sua instância precisar regularmente de fotos de perfil maiores, o administrador pode definir MAX_IMAGE_SIZE=5242880 para permitir até 5 MB, por exemplo. Os limites de formato e dimensão são aplicados pelo código do Mastodon e exigem que um desenvolvedor modifique o arquivo app/models/account.rb.
Agora você pode corrigir o erro Não foi possível salvar a foto do perfil convertendo, redimensionando e comprimindo sua imagem antes do upload. Se o problema persistir em uma instância específica, peça ao administrador para verificar os logs do servidor para obter o motivo exato da rejeição. Como dica avançada, use a tarefa rake mastodon:media:remove_orphans para limpar artefatos de upload com falha do backend de armazenamento.