Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Passar input file por ajax para php

$
0
0
Eu estou tentando fazer upload de uma foto, logo após validar o meu formulário sem submit, chamando uma função que envia os parâmetros para execução e posterior gravação dos dados em BD, não consegui resolver com o que tenho, creio que estou tentando de forma errada.
Tenho isso após a validação dos dados:
 
// INSERÇÃO DE DADOS - UPLOAD
function DlgInserirUpload() {	
	var params = {
		Operacao:    'Upload',
		sObservacao: $('#sObservacao').val(),
		IdContrato:  $("input[name=IdContrato]").val(),		
		file: $("#arquivo").val(),
	};	
	GravaFase(params);
}

E chamo a função GravaFase passando os parâmetros coletados, as variáveis sObservação e IdContrato estão sendo enviadas mas a arquivo não, a função que efetua o envio para o php é essa:

// PROCESSO INTEGRADO - INSERÇÃO, ALTERAÇÃO E DELEÇÃO
function GravaFase(params) {
	
	console.log(params);
	
	$.post(
		'pProcessoFase.php',
		params,
		function( json, textStatus, jQxhr ){
			
			if (json.status != "ERRO") {
				var dialogInstance = BootstrapDialog.show({
					title: 'SUCESSO',
					type: BootstrapDialog.TYPE_SUCCESS,
					message: json.msg,
					closable: false,
					buttons: [
						{
							label: 'Fechar',
							cssClass: 'btn-success',
							action: function(dialogRef){
								dialogRef.close();
								// location.reload();
									
								var IdContrato = json.par;								
								
								// console.log(aba);	
								// console.log(IdContrato);									
								
								// TABELA COM DADOS DA FASE DO CONTRATO
								$("#resultado-fase").load('pListaFaseContrato.php',{IdContrato:IdContrato});
								 // LIMPANDO CAMPOS DO FORMULÁRIO
								  $("#IdTipoFase").val(0);
								  $("#dData").val("");
								  $("#dHora").val("");	
								  $("#sDescricao").val("");																	  
								  
								 // TABELA COM DOCUMENTOS DO CONTRATO
								$("#resultado-upload").load('pListaUpload.php',{IdContrato:IdContrato});
								 // LIMPANDO CAMPOS DO FORMULÁRIO
								  $("#sObservacao").val("");
								  $("#arquivo").val("");	
										
								// TABELA COM DADOS DA FASE OBRIGATÓRIA DO CONTRATO								
								$("#resultado-obrigatoria").load('pListaFaseObrigatoria.php',{IdContrato:IdContrato});
								 // LIMPANDO CAMPOS DO FORMULÁRIO
								  $("#IdTipoFase1").val(0);
								  $("#iOrdem").val(0);									
							}
						}
					]	
				});	
			} else {														
				var dialogInstance = BootstrapDialog.show({
					title: 'ERRO',
					type: BootstrapDialog.TYPE_DANGER,
					message: json.msg,
					closable: false,
					buttons: [
						{
							label: 'Fechar',
							cssClass: 'btn-danger',
							action: function(dialogRef){
							dialogRef.close();									
							}
						}
					]										
				});	
			}
		},
		'json'
	)
	.fail(function( jqXhr, textStatus, errorThrown ){
		
		try {
			var json = $.parseJSON(jqXHR.responseText);
			var dialogInstance = BootstrapDialog.show({
				title: 'ERRO',
				type: BootstrapDialog.TYPE_DANGER,
				message: json.msg
			});	
		} catch(e) { 
			var dialogInstance = BootstrapDialog.show({
				title: 'ERRO',
				type: BootstrapDialog.TYPE_DANGER,
				message: json.msg
			});	
		}
	});
}

Já pesquisei alguns modelos e nãop consegui nada.

 


Viewing all articles
Browse latest Browse all 14190