Álbum de Fotos - multiUpload

< Voltar para os exemplos


Novo Álbum





Iniciar Upload | Limpar fila de Upload | Novo Álbum


Código:

var uploader = "";

$(function() {
	$("#album").submit(function() {
		// Não continue caso já exista uma instância do multiUploader
		if (typeof uploader == "object")
			return false;

		var data = $(this).serialize(); // Dados do formulário

		$(":text,textarea").attr("disabled", "disabled"); // Desabilitar os textos

		// Envia o formulário via Ajax
		$.ajax({
			type: "POST",
			url: "savealbum.php",
			data: data,
			cache: false,
			dataType: "json",
			success: function(json)
			{
				if (json.id > 0) // Se recebemos um id então o álbum foi salvo com sucesso
				{
					// Cria uma instância do multiUpload
					uploader = new multiUpload('uploader', 'uploader_files', {
						swf:             '../../swf/multiUpload.swf',
						script:          'upload.php',
						expressInstall:  '../../swf/expressInstall.swf',
						multi:           true,
						data:            json, // Envia a variável json para o script de upload (com o id do álbum)
						fileDescription: 'JPEG Images',
						fileExtensions:  '*.jpg;*.jpeg',
						onAllComplete:   function()
						{
							alert("Todos os arquivos foram enviados!");
						}
					});

					// Cria o html base para listagem dos arquivos selecionados e barra de progresso
					uploader.createBaseHtml();

					// Mostra as ações (Iniciar Upload, limpar fila)
					$(".upload_actions").show();
				}
				else // Caso o álbum não seja salvo
				{
					$(":text,textarea").removeAttr("disabled"); // Habilita os textos novamente
					alert(json.msg); // Mostra a mensagem de erro retornada
				}
			}
		});

		return false; // Previne o form de ser enviado pela forma normal
	});

	$(":text,textarea").removeAttr("disabled");
});