Ir para conteúdo
Fórum Script Brasil
  • 0

Como Pegar O Nome Do Arquivo Enviado.


ibreak

Pergunta

Oi pessoal...

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&Iacute;CIAS</font></td>
  </tr>
  <tr>
    <td colspan="3" bgcolor="f0f0f0"><font face="Arial, Helvetica, sans-serif">&nbsp;</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&iacute;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&iacute;cia</font></strong></font></p>
      <p><font size="2" face="Arial, Helvetica, sans-serif">Para incluir uma
        nova not&iacute;cia, preencha o formul&aacute;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&iacute;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&uacute;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&atilde;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>&nbsp;</p>
    </blockquote></td>
    <td width="40" bgcolor="#BFEFFF"><font face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
  </tr>
  <tr>
    <td colspan="3" bgcolor="f0f0f0"><div align="right"><font color="#666666" size="2" face="Arial, Helvetica, sans-serif">ASP
    - Not&iacute;cias</font></div></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

não da pra entender muito esse código, mas na pagina Upload.asp você viu que tem

FilePath = Server.MapPath("fotos") & "\" & Fields("file").FileName
o FilePath se forma pelo caminho da pasta e o nome do arquivo, então veja se você consegue algo +- assim:
arquivo = Fields("file").FileName

Link para o comentário
Compartilhar em outros sites

  • 0

Andrei valeu pela ajuda, mas não deu certo não... dá o seguinte erro no arquivo upload.inc

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A0005)

Chamada de procedimento ou argumento inválido

/news1/arquivos/adm/upload.inc, line 229

Na linha 229 eu tenho isso: Set TextStream = FS.CreateTextFile(FileName)

Obrigado por toda ajuda.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...