Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos.
Antes de mais quero pedir desculpa se este tópico está no forum errado.
Estou a tentar fazer upload de uma imagem utilizando jQuert e Ajax e acontece que, segundo o que tenho lido, não é coisa fácil e que jQuery + Ajax não faz sem um plugin, estou certo?
Há por ai alguém que me consiga explicar uma forma de fazer o upload de uma imagem utilizando jQuert + Ajax?
Tenho um form com vários campos:
O meu objectivo é quando seleccionado o ficheiro da Imagem de perfil e clicado num botão de "Carregar foto" imediatamente abaixo do campo de selecção da foto, que seja efectuada uma chamada a um ficheiro "image_upload_script.php" que faça a validaçnao do ficheiro e o upload do mesmo caso seja válido.
Esse script está escrito e a funcionar, o que eu não consigo é passar o ficheiro do form para o script utilizando jQuert + Ajax.
$("#uploadPictureAnchor").click(uploadUserPicture);
function uploadUserPicture(){
var selectedImage = $("#userPictureFile").val();
$.ajax({ type:"POST",
url:"scripts/image_upload_script.php",
data:{"uploaded_file":selectedImage},
success:uploadUserPicture_resultHandler
});
}
image_upload_script.php
<?php
// uploaded_file é o nome do campo de onde vem o ficheiro.
// <input name="uploaded_file" type="file" />
$fileName = $_FILES["uploaded_file"]["name"];
$fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"];
$fileType = $_FILES["uploaded_file"]["type"];
$fileSize = $_FILES["uploaded_file"]["size"];
$fileErrorMsg = $_FILES["uploaded_file"]["error"];
// Validar a imagem
if(!$fileTmpLoc){
print "Nenhuma imagem foi seleccionada"; // Se não foi seleccionada nenhuma imagem
exit();
} else if($fileSize > 5242880){unlink($fileTmpLoc);
exit();unlink($fileTmpLoc);
exit();
} else if($fileErrorMsg == 1){exit();
}
//unlink($fileTmpLoc);
$moveResult = move_uploaded_file($fileTmpLoc, "members/$fileName");
if($moveResult != true){
print "Imagen não carregada!";
unlink($fileTmpLoc);
exit();
}
print "Imagem carregada com sucesso";
?>
LP
Carregando comentários...