Como fazer upload fácil de arquivos sem envio de formulário (com jQuery + AJAX)

Então eu tenho algum código de processamento de formulário que processa as inputs de texto padrão e os arquivos carregados (através da matriz $ _FILES)

Eu quero que a submissão seja feita através do AJAX

Será a postagem do jQuery (). O método ainda transmite essas coisas através de -> $ _FILES ou preciso fazer algo especial?

O Ajax (conforme definido, usando JavaScript) não pode executar carregamentos de arquivos, pois o JavaScript não pode acessar o sistema de arquivos local. Existem soluções que parecem usar o Ajax, como um iframe ou usando o Flash.

Caçar em torno do Google, você encontrará algo. Há mais bibliotecas (YUI, por exemplo) que estão juntando isso.

Para carregar arquivos via Ajax, você precisa usar uma solução alternativa usando iframes ou Flash.

Eu recomendo você Carregar , usa flash para fazer o upload e usa jQuery. Eu gosto do fato de ter muitas configurações, e vem com um bom estilo padrão para o gerenciamento da fila. Basta seguir as instruções para configurá-lo no seu site.

No script PHP, você receberá o arquivo na matriz $ _FILES, como se fosse uma apresentação normal através de um formulário, o nome padrão é ‘Filedata’, para que você possa acessar seu arquivo por $ _FILES [‘Filedata’] . Em seguida, basta ecoar a resposta para o pedido do Ajax (JSON ou XML) e executar algum código JS para o Evento ‘Upload “.

Você pode tentar usar a API de upload de arquivos do HTML 5, o que exigirá que eles arrastem e soltem o arquivo na janela do navegador. Leia mais aqui: http://www.appelsiini.net/2009/10/html5-drag-and-drop-multiple-file-upload

Além disso, você pode fazer o mesmo com o Google Gears (que requer uma instalação para o IE, mas é padrão no Chrome).

É possível detectar a presença de qualquer um e degradar graciosamente.