Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Ribas Logullo

[Resolvido] JQuery .post

Recommended Posts

Boa noite rapaziada, estou com uma dúvida, porém, tenho certeza que vocês poderão me ajudar nessa.

Eu preciso fazer com que o jQuery leia o $_FILES['imagem']['tmp_name'].

Só que eu gostaria de fazer isto sem o auxílio de plugins externos, gostaria de fazer no braço mesmo. Pois estas imagens passarão por um redimensionamento dinamico no php.

 

Exemplo do que estou construindo:

 

<input type="file" name="imagem" id="imagem" />

 

jQuery.post(pagina.php, imagem:imagem, function() { }

 

Nesta variavel imagem eu gostaria de passar o valor de $_FILES['imagem']['tmp_name'].

 

Qualquer coisa vamos conversando para tirar dúvidas que surgirem e se tem como fazer isso também, estou começando com jQuery.

 

Att.

 

Gustavo

Compartilhar este post


Link para o post
Compartilhar em outros sites

impossível.

 

ajax não envia arquivos.

oq se faz é usar action script(flash), ou entao um iframe para processar o formulário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, muito obrigado pela ajuda William. Consegui fazer algo nesse estilo utilizando um script que cria uma iframe dinamico. Até onde sei o uso de iframe está depreciado (não tenho certeza disso), mas ajudou a resolver o meu problema momentaneamente.

 

Se mais alguém tiver interesse aqui vai o script que estou utilizando para criar o iframe.

 

function fileUpload (form, action_url, div_id) {

// Create iframe
var iframe = document.createElement('iframe');
iframe.setAttribute('id', 'upload_iframe');
iframe.setAttribute('name', 'upload_iframe');
iframe.setAttribute('width', '0');
iframe.setAttribute('height', '0');
iframe.setAttribute('border', '0');
iframe.setAttribute('style', 'width: 0; height: 0; border: none;');

// Add to document
form.parentNode.appendChild(iframe);
window.frames['upload_iframe'].name = 'upload_iframe';

iframeId = document.getElementById('upload_iframe');

// Add event
var eventHandler = function() {
	if (iframeId.detachEvent) {
		iframeId.detachEvent('onload', eventHandler);
	}
	else {
		iframeId.removeEventListener('load', eventHandler, false);
	}

	// Messaging from server
	if (iframeId.contentDocument) {
		var content = iframeId.contentDocument.body.innerHTML;
	}
	else if (iframeId.contentWindow) {
		var content = iframeId.contentWindow.document.body.innerHTML;
	}
	else if (iframeId.document) {
		var content = iframeId.document.body.innerHTML;
	}

	document.getElementById(div_id).innerHTML = content;

	// Del the iframe
	setTimeout('iframeId.parentNode.removeChild(iframeId)', 250);
}

if (iframeId.addEventListener) {
	iframeId.addEventListener('load', eventHandler, true);
}

if (iframeId.attachEvent) {
	iframeId.attachEvent('onload', eventHandler);
}

// Set properties
form.setAttribute('target', 'upload_iframe');
form.setAttribute('action', action_url);
form.setAttribute('method', 'post');
form.setAttribute('enctype', 'multipart/form-data');
form.setAttribute('encoding', 'multipart/form-data');

// Submit form
form.submit();

document.getElementById(div_id).innerHTML = '<img src="../imagem/loader.gif" />';

// Set properties
form.removeAttribute('target', '');
form.removeAttribute('action', '');
}

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.