Gostaria de contar com a ajuda de vocês no seguinte problema.
Eu tenho um campo no meu formulário que se chama url. Do lado desse campo tem o botão escolher. Quando eu clico nele é aberta uma janéla popup com a página upload.asp(1º código). Eu seleciono o arquivo que eu quero e clico no botão para enviar o arquivo.
Acontece que quando eu faço isso... além deu não receber qualquer informação se o arquivo foi ou não enviado, o nome do arquivo que acabou de ser enviado, não é capturado pelo campo URL da tela principal. Nos testes que eu fiz a foto é enviada normalmente, mas o nome do arquivo não é capturado pela janéla principal depois de enviado na popup.
Como resolver isso...
Abaixo postei o código que faz o upload sem componente (deste fórum)... e mais abaixo o formulário que deverá capturar o nome do arquivo que foi enviado.
UPLOAD.ASP
<% byteCount = Request.TotalBytes 'RequestBin = Request.BinaryRead(byteCount) %> <html> <head> <title>SISTEMA DE UPLOAD DE QUALQUER ARQUIVO</title> <script LANGUAGE="JavaScript"> function Limit(upload) { if (upload.file.value == "") { alert("Informe o nome do arquivo (.jpg ou .gif)!"); upload.file.focus(); return false; } vfile = upload.file.value; tfile = vfile.length; if ((vfile.substr(tfile - 4, 4) != ".jpg") & (vfile.substr(tfile - 4, 4) != ".gif")){ alert("O arquivo deverá possuir o formato (.jpg ou .gif)!"); upload.file.focus(); return false; } } </script> </head> <body> <form name=upload OnKeyPress="return false;" OnSubmit= "return Limit(upload);" method=post ENCTYPE="multipart/form-data"> Arquivo : <input type="file" name="file" size="20"><br> <input type=submit Name="Action" value="Upload do Arquivo"> </form></input></input> </body></HTML> <!---#INCLUDE FILE="upload.inc" ---> <% If Request.ServerVariables("REQUEST_METHOD") = "POST" Then 'Request method must be "POST" For get the fields Set Fields = GetUpload() If byteCount > 200000 Then Response.write "Tamanho do arquivo: <font color='red'>" & byteCount & "</font><br>" Response.Write "<center>Não deu certo...</center>" Response.End End If 'ALTERE A PASTA CHAMADA "imgs" PELA PASTA QUE VOCÊ QUER DEIXAR AS IMGENS 'LEMBRANDO QUE DEVE ESTAR NO MESMO DIRETORIO DAS PAGINAS UPLOAD.ASP E UPLOAD.INC 'DEIXE A BARRA "/" - PARA USAR NO SEU SITE 'DEIXE A BARRA "\" - PARA USAR NA SUA INTRANET FilePath = Server.MapPath("fotos") & "\" & Fields("file").FileName Fields("file").Value.SaveAs FilePath End If 'BY - ROBERTO GODOY %>
INCLUIR.ASP
<!--#include file="cookies.asp" --> <% 'Criando variáveis Dim rsTipos set rsTipos=server.createobject("adodb.recordset") 'Esta SELECT irá selecionar todos os tipos de notícias 'Neste caso, será para colocarmos no formulário as opções de escolher o tipo da notícia rsTipos.Open "SELECT * from noticias_tipo order by tipo", meubd %> <script language="JavaScript"> function eventos() { var width = 350; var height = 300; var left = 0; var top = 0; self.name = 'opener'; remote = open('upload2.asp','site', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no'); remote.focus(); } function enviarfoto() { var width = 350; var height = 200; var left = 0; var top = 0; self.name = 'enviarfoto'; remote = open('upload.asp','site', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no'); remote.focus(); } </script> <html> <head> <title>iMasters / ASP - Notícias</title> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="778" border="0" cellspacing="3" cellpadding="0"> <tr valign="middle"> <td height="70" colspan="3" bgcolor="fcfcfc"><font size="6" face="Arial, Helvetica, sans-serif">ADMINISTRATIVO - ASP NOTÍCIAS</font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td width="126" height="277" valign="top" bgcolor="#BFEFFF"><table width="100%" border="0" cellspacing="2" cellpadding="1"> <tr> <td bgcolor="#FFFFFF"><a href="incluir.asp"> <div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Incluir Notícia</strong></font></div> </a></td> </tr> </table></td> <td width="600" valign="top"><blockquote> <p><font face="Arial, Helvetica, sans-serif"><strong><font size="4"> Incluir notícia</font></strong></font></p> <p><font size="2" face="Arial, Helvetica, sans-serif">Para incluir uma nova notícia, preencha o formulário abaixo:</font></p> <form name="form1" method="post" action="incluir2.asp"> <table border="0" align="center" cellpadding="0" cellspacing="3"> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Título:</font></div></td> <td><div align="left"><font face="Arial, Helvetica, sans-serif"><font size="2"> <input name="titulo" type="text" id="titulo" size="40"> </font></font></div></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Tipo:</font></div></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <select name="tipo" id="tipo"> <% while NOT rsTipos.EOF %> <option value="<%=rsTipos("codtipo")%>"><%=rsTipos("tipo")%></option> <% rsTipos.movenext wend %> </select> </font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Chamada:</font></div></td> <td><font face="Arial, Helvetica, sans-serif"><font size="2"> <textarea name="chamada" cols="40" id="chamada"></textarea> </font></font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Conteúdo:</font></div></td> <td><font face="Arial, Helvetica, sans-serif"><font size="2"> <textarea name="conteudo" cols="40" rows="5" id="conteudo"></textarea> </font></font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Data para expirar:</font></div></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="expira" type="text" id="expira"> </font></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Destaque:</font></div></td> <td> <table width="100" border="0" cellspacing="0" cellpadding="1"> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input type="radio" name="destaque" value="1"> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif">Sim</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="destaque" type="radio" value="0" checked> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif">Não</font></td> </tr> </table></td> </tr> <tr> <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Foto:</font></div></td> <td><table width="254" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="152" height="24"><input name="url" type="text" id="url" readonly> </td> <td width="102"><table width="81" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="81"><font size="1" face="Arial, Helvetica, sans-serif">Escolher</font></td> </tr> <tr> <td><font size="1" face="Arial, Helvetica, sans-serif"><a href="java script:enviarfoto();">Enviar</a></font></td> </tr> </table></td> </tr> </table> </td> </tr> <tr> <td colspan="2"><div align="right"> <input type="submit" name="Submit" value="Cadastrar"> </div></td> </tr> </table> </form> <p> </p> </blockquote></td> <td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif"> </font></td> </tr> <tr> <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP - Notícias</font></div></td> </tr> </table> <p> </p> </body> </html>