🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir a falha de upload de arquivos no WPForms

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Upload de arquivos falha no WPForms EN: WPForms file upload not working
Severidade Grave
Descrição O upload de arquivo do WPForms falha quando o visitante tenta anexar um arquivo e o formulário rejeita ou não envia. As causas reais são o tipo do arquivo fora da lista de extensões permitidas, o tamanho acima do limite do servidor (upload_max_filesize), ou o estilo Moderno de upload travando por conflito de SSL ou JavaScript.

O que é o upload de arquivo no WPForms que não funciona?

O campo File Upload do WPForms permite que o visitante anexe arquivos ao enviar um formulário, como um currículo, uma foto ou um PDF. Por padrão os arquivos ficam em wp-content/uploads/wpforms/ ou na Biblioteca de Mídia, se essa opção estiver ligada. A falha de upload acontece quando o arquivo e barrado na validação do campo (tipo ou tamanho) ou quando o envio via AJAX do estilo Moderno não completa, e o formulário para no botão de enviar sem registrar a entrada.

Como identificar

  • Ao escolher o arquivo aparece a mensagem ‘File type is not allowed’ (ou ‘Tipo de arquivo não permitido’) logo abaixo do campo File Upload.
  • Ao tentar enviar surge ‘File exceeds the max size allowed’ ou ‘O arquivo excede o tamanho máximo permitido’, mesmo com um arquivo aparentemente pequeno.
  • No estilo Moderno (arrastar e soltar) a barra de progresso trava em meio caminho e o formulário nunca passa do botão Enviar.
  • O formulário envia, mas a entrada chega em WPForms -> Entradas sem o anexo, ou o link do arquivo aponta para um arquivo de 0 KB.
Antes de começar: Nunca adicione php, phtml, phar, js ou svg a lista de extensões permitidas: aceitar esses tipos no upload público abre porta para execução de código no servidor. Mantenha a lista restrita a documentos e mídia e faca backup do site antes de mexer em permissões de pasta.

Como prevenir

  • Restrinja a lista de extensões ao mínimo necessário e nunca inclua tipos executaveis como php, phtml, phar ou svg
  • Defina o Max File Size do campo com folga abaixo do limite real do servidor para o visitante receber a mensagem do WPForms, e não um erro 413 cru do servidor
  • Teste cada formulário com upload como visitante anonimo, em HTTPS e no celular, após atualizar o WPForms, o tema ou o plugin de cache

Causa

  • Extensão do arquivo fora da lista do campo File Upload (padrão do WPForms: png, gif, jpg, doc, xls, ppt, pdf, wav, mp3, mp4, mpg, mov, wmv); enviar um zip, csv ou heic sem adicionar a extensão em Allowed File Extensions barra o upload.
  • Arquivo acima do limite do servidor: o campo Max File Size do WPForms herda o teto de upload_max_filesize e post_max_size do PHP, e um arquivo maior que esse valor (tipico 2M ou 8M em hospedagem compartilhada) e rejeitado na validação.
  • Estilo Moderno (AJAX, arrastar e soltar) falhando por conteúdo misto: o site carrega via HTTPS mas o WPForms aponta um asset em HTTP, e o navegador bloqueia a requisicao do upload.
  • Estilo Moderno aberto no Safari ou em navegador interno de app (Instagram, Facebook), que não completam o upload por arrastar e soltar e precisam do estilo Classico.
  • Pasta wp-content/uploads/wpforms/ sem permissão de escrita (diferente de 0755 nas pastas) ou um WAF/Cloudflare cortando o POST acima de 100 MB antes de chegar ao PHP.

Como resolver

  1. Libere a extensão do arquivo no campo: Abra o formulário no WPForms, clique no campo File Upload e, em Opções de Campo, ajuste a lista de extensões permitidas separadas por virgula. Inclua a extensão que o visitante precisa enviar sem espacos extras.
    Allowed File Extensions: jpg,jpeg,png,pdf,doc,docx,zip
  2. Confira o limite de tamanho do campo e do servidor: Ainda no campo File Upload, veja o tooltip do Max File Size: ele mostra o teto definido pelo servidor. Se o limite real for baixo, defina um valor menor ou igual ao do servidor e peca ao seu host para elevar as diretivas do PHP.
    Max File Size do campo: 10 (MB)
    Teto do servidor exibido no tooltip = upload_max_filesize do PHP
  3. Troque o estilo de upload para Classico ao depurar: No campo File Upload, abra a aba Avancado e mude o Style de Moderno para Classico. O estilo Classico usa o botão Escolher arquivo e dispensa o AJAX e o arrastar e soltar, o que contorna falhas no Safari e em navegadores internos de apps.
    Campo File Upload -> Avancado -> Style: Classico
  4. Verifique HTTPS e conteúdo misto: Abra o formulário, pressione F12 e va na aba Console. Se houver aviso de Mixed Content apontando um asset em HTTP numa página HTTPS, corrija a URL do site para HTTPS em Configurações para destravar o upload via AJAX do estilo Moderno.
    Painel WP -> Configurações -> Geral -> Endereco do site (URL): https://
  5. Cheque a permissão da pasta de uploads: Via FTP ou gerenciador de arquivos, confirme que a pasta de uploads do WPForms existe e tem permissão de escrita. Sem escrita, o arquivo e recebido mas não e gravado, e a entrada chega sem o anexo.
    chmod 0755 wp-content/uploads/wpforms
    Caminho da pasta: wp-content/uploads/wpforms/
APACHE
# .htaccess na raiz do WordPress (servidor Apache)
# Eleva o teto de upload do PHP para o WPForms aceitar arquivos maiores.
# O Max File Size do campo nunca pode passar destes valores.
php_value upload_max_filesize 32M
php_value post_max_size 36M
php_value max_execution_time 300
php_value max_input_time 300

Perguntas frequentes

Por que o WPForms recusa meu arquivo dizendo que o tipo não e permitido
A extensão do arquivo não esta na lista do campo File Upload. Por padrão o WPForms aceita imagens, documentos do Office, PDF, audio e vídeo comuns. Para outros tipos, abra o campo e adicione a extensão na lista Allowed File Extensions, separada por virgula e sem ponto.
O arquivo e pequeno mas aparece a mensagem de tamanho máximo excedido. Por que
O campo Max File Size do WPForms herda o teto de upload_max_filesize e post_max_size do PHP. Em hospedagem compartilhada esse limite costuma ser 2M ou 8M. Veja o tooltip do Max File Size para o valor real e peca ao host para eleva-lo se precisar de arquivos maiores.
O upload trava na metade no estilo de arrastar e soltar. O que fazer
O estilo Moderno envia por AJAX e quebra com conteúdo misto (asset em HTTP numa página HTTPS) ou no Safari e em navegadores internos de apps. Verifique avisos de Mixed Content no console e, para testar, troque o estilo do campo para Classico na aba Avancado.
Onde o WPForms guarda os arquivos enviados
Por padrão os arquivos ficam em wp-content/uploads/wpforms/, fora da Biblioteca de Mídia. Se a opção Armazenar arquivo na Biblioteca de Mídia estiver ligada na aba Avancado do campo, o anexo também aparece em Mídia.
A entrada chegou sem o anexo. O arquivo se perdeu
Geralmente a pasta de uploads do WPForms esta sem permissão de escrita, entao o arquivo e recebido mas não gravado. Confirme via FTP que wp-content/uploads/wpforms existe com permissão 0755 e reenvie o formulário para validar.
Posso permitir upload de arquivos zip ou csv
Sim. Esses tipos são seguros e basta adicionar zip e csv a lista de extensões do campo. Evite incluir tipos executaveis como php, phtml ou svg, que permitem rodar código no servidor e não devem ser aceitos em upload público.
O upload funciona no computador mas falha no celular
Navegadores internos de apps como Instagram e Facebook não completam o upload no estilo Moderno. Oriente o visitante a abrir o link no navegador padrão do celular ou configure o campo no estilo Classico, que usa o seletor de arquivos nativo do aparelho.
Por que arquivos grandes falham mesmo com o limite do WPForms alto
Um proxy como o Cloudflare corta o POST antes de chegar ao PHP. No plano gratuito e Pro do Cloudflare o teto de upload e 100 MB. Acima disso o envio falha independentemente do Max File Size do WPForms e do limite do servidor.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes