Anderson Oliver 0 Denunciar post Postado Março 28, 2012 Olá Pessoas, Tenho uma página (pai) que contém um iframe requisitando uma página que contém o campo input que recebe um arquivo (type="file"). Preciso recuperar o valor deste campo input do iframe para a página pai. Agradeço muito quem puder ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
NetBoy16 72 Denunciar post Postado Março 28, 2012 com qual linguagem? php? qual método? post? especifique mais, coloque o codigo e link da pagina. acredito que talvez isso resolva: http://groups.google.com/group/listaphp/browse_thread/thread/8755637a94653e38?pli=1 Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 29, 2012 O .value do input[file] é um valor simulado. Não é permitido obter o caminho do arquivo que será enviado. Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Oliver 0 Denunciar post Postado Março 29, 2012 Eu preciso do valor do campo <input type="file" id="anexo"> Preciso pegar e puxar na página pai que contém este iframe. Abaixo o código do iframe <?php // Flag que indica se há erro ou não $erro = null; // Quando enviado o formulário if (isset($_FILES['anexo'])) { // Configurações $extensoes = array(".doc", ".txt", ".pdf", ".docx", ".jpg"); $caminho = "../../lib/uploads/"; // Recuperando informações do arquivo $nome = $_FILES['anexo']['name']; $temp = $_FILES['anexo']['tmp_name']; $tamanho = $_FILES['anexo']['size']; // Verifica se a extensão é permitida if (!in_array(strtolower(strrchr($nome, ".")), $extensoes)) { $erro = 'Extensão inválida'; } if ($tamanho > 10485760) { $erro = 'Tamanho invalido!'; } // Se não houver erro /* if (!$erro) { // Gerando um nome aleatório para a imagem //$nomeAleatorio = md5(uniqid(time())) . strrchr($nome, "."); // Movendo arquivo para servidor if (!move_uploaded_file($temp, $caminho . $nome)) $erro = 'Não foi possível anexar o arquivo'; }*/ } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Upload dinâmico com jQuery/PHP</title> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(function($) { // Definindo página pai var pai = window.parent.document; <?php if (isset($erro)): // Se houver algum erro ?> // Exibimos o erro alert('<?php echo $erro ?>'); <?php elseif (isset($nome)): // Se não houver erro e o arquivo foi enviado ?> // Adicionamos um item na lista (ul) que tem ID igual a "anexos" $('#anexos', pai).append('<li lang="<?php echo $nomeAleatorio ?>"><?php echo $nome ?> <img src="../../lib/imagens/remove.png" alt="Remover" class="remover" onclick="removeAnexo(this)" \/> </li>'); <?php endif ?> // Quando enviado o arquivo $("#anexo").change(function() { // Se o arquivo foi selecionado if (this.value != "") { // Armazenando quantidade de elementos LI var q = $('#anexos li', pai).length; // Se a quantidade for maior ou igual a 1 if (q >= 1) alert('Limite atingido'); else { // Exibimos o loder $("#status").show(); // Enviamos o formulário $("#upload").submit(); } } }); }); </script> </head> <body> <form id="upload" action="upload.php" method="post" enctype="multipart/form-data"> <span id="status" style="display: none;"><img src="image/loader.gif" alt="Enviando..." /></span> <input type="file" name="anexo" id="anexo" /> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 29, 2012 Vou fazer uma simulação prática para ver se você entende: <input type="file" id="arquivo"><button id="check">Escolha um arquivo e depois clique aqui.</button> document.getElementById('check').onclick = function () { alert(document.getElementById('arquivo').value); } Repetindo: Não é possível pegar o valor verdadeiro de um input[file]. Vem sempre um valor simulado que pode, inclusive, variar de navegador para navegador. Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Oliver 0 Denunciar post Postado Março 29, 2012 Então neste caso não há solução??? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 29, 2012 Deve ter, qual o propósito??? Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Oliver 0 Denunciar post Postado Março 29, 2012 Bom eu preciso pegar o valor do campo que falei pra enviar pro controller. Mas preciso do arquivo como tipo file pois faço a validação e a inclusão no banco. Tem que ser tipo arquivo (file). Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 29, 2012 Deixa eu ver se entendi, você não quer fazer um upĺoad, você quer salvar no banco de dados o caminho do arquivo na máquina do usuário, é isso?? Repetindo, qual seria o propósito? Compartilhar este post Link para o post Compartilhar em outros sites