Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kaayá Pezzuti

Upload com ajax é possivel?

Recommended Posts

Olá,

 

estava querendo enviar uma imagem com ajax, mas li em um outro post que não é possivel.

é exetamente assim mesmo? nao existe como fazer upload de imagem com ajax e php?

 

não tem uma forma de eu passar os valores da imagem para o javascript e depois para o php?

 

como eu faria um upload sem precisar recarregar a pagina? usaria um iframe?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

com FormData é possível, mas só é disponível do ie10 em diante por exemplo.

 

http://caniuse.com/#search=formdata

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é possível em navegadores modernos: http://caniuse.com/#feat=xhr2

 

HTML:

<form id="ajax-upload">
    <input type="file" id="file" name="file" />
    <input type="submit" value="Enviar" />
</form>

 

JS:

var xhr = new XMLHttpRequest();
  
document.getElementById( 'ajax-upload' ).addEventListener( 'submit', sendFileOverAjax, false );

function sendFileOverAjax() {
    
    var file = document.getElementById( 'file' ),
           formData = new FormData();


    formData.append( 'file-name', file.files[0] );
    
    xhr.open( 'post', '/url-to-upload', true ) ;
    xhr.setRequestHeader( 'Content-Type', 'multipart/form-data' );
    xhr.send( formData );

}
     
xhr.addEventListener( 'readystatechange', function () { 

    if ( xhr.readyState == 4 && xhr.status == 200 )  {
        alert( xhr.statusText );
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode tentar ambos, primeiro verifique se o FormData existe, se não existir, prossiga com a criação do iframe como fallback.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou iframe ou flash

 

iframe haha.. se for midia movel garante que funciona!

 

Você pode tentar ambos, primeiro verifique se o FormData existe, se não existir, prossiga com a criação do iframe como fallback.

 

vou fazer isso também...

 

mas tem alguma vantagem? ou acaba dando na mesma?, tem alguma melhora de performace? alguma diferenca significativa?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.