Ir para conteúdo

Arquivado

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

Bruno Alencar

Upload de imagens em ASP

Recommended Posts

Olá, gostaria de saber como posso fazer o upload de uma imagem. No caso, gostaria que essa imagem ficasse numa pasta separada. Lembrando também, como devo proceder para especificar o endereço ao executar a página e aparecer a imagem.Um amigo, o Sheiliemarcos, administrador do forum, me sugeriu usar uma dll ASP Smart Upload. Acontece que sou leigo nisso. Tanto na parte de programar o upload quanto como trabalhar com o Smart Upload.Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê uma visitada no nosso Laboratório de Scripts Asp, lá tem um código do Dark0 de upload sem componentes muito bom pra você iniciar a logica

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo na página inicial do Fórum da Programação ASP tem um trópico em negrito chamado "laboratório de scripts (asp)"

 

é a 3ª opção!

 

abraços!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa...Consegui o ASP Smart Upload.Agora, é fazer funcionar o infeliz.Fiz essa linha de código, um tanto parecido com o que vi no site onde encontrei a dll. Mas, nem com reza.

<%   dim conMasterFest   dim imagem   dim recClassificados   set conMasterFest = server.createobject ("adodb.connection")   conMasterFest.open "driver={MySQL ODBC 3.51 Driver};server=localhost;database=masterfest;user=root;password=root"   set imagem = server.createobject ("aspsmartupload.smartupload")   imagem.upload   imagem.save (server.mappath("C:\Inetpub\wwwroot\MasterFest\fotos_classificados\imagens"))   set recClassificados = server.createobject ("adodb.recordset")   recClassificados.open "select * from classificados", conMasterFest   recClassificados.addnew      recClassificados ("tituloClassificado") = request.form ("tituloClassificado")      recClassificados ("descClassificado") = request.form ("descClassificado")      recClassificados ("fotoClassificado") = imagem.filename   recClassificados.update   conMasterFest.close   set conMasterFest = nothing   response.write "<script>alert ('Cadastro de classificado efetuado!'); location='classificados.asp'</script>"%>

Está acusando erro na linha do server.mappath. Onde está o erro?Existe alguma forma mais aconselhável a se utilizar?Desde já, valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, fiz algumas alterações no código, consegui mudar a linha do problema, mas, ainda sim, não funciona.

 

<%   dim conMasterFest   dim imagem   dim fotoClassificado   dim recClassificados   set conMasterFest = server.createobject ("adodb.connection")   conMasterFest.open "driver={MySQL ODBC 3.51 Driver};server=localhost;database=masterfest;user=root;password=root"   set imagem = server.createobject ("aspsmartupload.smartupload")   imagem.save (server.mappath("/fotos_classificados"))   imagem.upload   set recClassificados = server.createobject ("adodb.recordset")   recClassificados.open "select * from classificados", conMasterFest, 3, 3   for each file in imagem.files	  if not file.ismissing then		 file.saveas (server.mappath("/fotos_classificados/"&file.filename))		 fotoClassificado = file.filename		 del = file.filename	  end if   next   recClassificados.addnew	  recClassificados ("tituloClassificado") = imagem.form ("tituloClassificado")	  recClassificados ("fotoClassificado") = fotoClassificado	  recClassificados ("descClassificado") = imagem.form ("descClassificado")   recClassificados.update   conMasterFest.close   set conMasterFest = nothing   response.write "<script>alert ('Cadastro de classificado efetuado!'); location='classificados.asp'</script>"%>
A mensagem que aparace é:

Tipo de erro:

aspSmartUpload.File (0x80040460)

Unable to save file (Error 1120)

/masterfest/inserir_classificados.asp, line 19

 

cuja linha 19 corresponde: file.saveas (server.mappath("/fotos_classificados/"&file.filename))

--------

 

Experimentei trocar a posição dos códigos:

 

<%   dim conMasterFest   dim imagem   dim fotoClassificado   dim recClassificados   set conMasterFest = server.createobject ("adodb.connection")   conMasterFest.open "driver={MySQL ODBC 3.51 Driver};server=localhost;database=masterfest;user=root;password=root"   set imagem = server.createobject ("aspsmartupload.smartupload")   'imagem.save (server.mappath("/fotos_classificados"))   set recClassificados = server.createobject ("adodb.recordset")   recClassificados.open "select * from classificados", conMasterFest, 3, 3   for each file in imagem.files	  if not file.ismissing then		 file.saveas (server.mappath("/fotos_classificados/"&file.filename))		 fotoClassificado = file.filename		 del = file.filename	  end if   next   imagem.upload   recClassificados.addnew	  recClassificados ("tituloClassificado") = imagem.form ("tituloClassificado")	  recClassificados ("fotoClassificado") = fotoClassificado	  recClassificados ("descClassificado") = imagem.form ("descClassificado")   recClassificados.update   conMasterFest.close   set conMasterFest = nothing   response.write "<script>alert ('Cadastro de classificado efetuado!'); location='classificados.asp'</script>"%>
Colocando o upload depois de endereçar a imagem. Nesse caso, o erro passou a ser:

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)

Operação OLE DB de várias etapas gerou erros. Verifique cada valor de status OLE DB. Nada foi executado.

/masterfest/inserir_classificados.asp, line 28

 

cuja linha 28 corresponde: recClassificados ("fotoClassificado") = fotoClassificado

-------------------

 

Não estou dando conta. Agradeço encarecidamente a alguém que puder me ajudar.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no código que gerou esse erro:

Tipo de erro:

aspSmartUpload.File (0x80040460)

Unable to save file (Error 1120)

/masterfest/inserir_classificados.asp, line 19

faça o seguinte....verifique se a pasta no servidor tem permissão de escrita pra poder salvar

altere

porque

file.saveas (server.mappath("/fotos_classificados/"&file.filename))

e não

file.save (server.mappath("\fotos_classificados\"&file.filename))

procure colocar o caminho fisico no lugar de server.mappath

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonathan, e aí, tranquilo?Bem, como já testamos pelo msn, meu upload de imagem está bombando. Acontece que agora, para resgatar as imagens, eiiiita.veja o codigo abaixo

<td width="550" align="center" valign="top">   <% recClassificados.open "select * from classificados where codClassificado="& request.querystring ("codClassificado"), conMasterFest %>   <table border="0" width="100%" id="table8" bgcolor="#D9D9FF">      <tr>         <td colspan="2">	    <b><% = recClassificados ("tituloClassificado") %></b>	 </td>      </tr>      <tr>         <td width="5%">            <br>            <img src="C:\Inetpub\ftproot\fotos_classificados\<% = recClassificados ("fotoClassificado") %>" width="129" height="140">         </td>         <td width="93%">            <% = recClassificados ("descClassificado") %>         </td>      </tr>   </table></td>

O Sheile, um dos moderadores ou administradores aqui do forum me disse: "Tem que fazer funcionar dentro da pasta wwwroot". O fato, é que dentro dessa pasta, não funciona nem...Simplesmente não grava. Já em qualquer outra pasta, está legalzão mesmo. Como você já sabe, estou usando ASP Smart Upload. Eu consigo fazer funcionar todo o texto em volta, mas, a imagem não aparece.No último teste, experimentei colocar dentro do ftp, e configurar a pasta de navegação como FTP, lá no IIS. Não sei se fiz certo. Era uma tentativa de abrir gravação de dados. Mas, não fui feliz.O natural que eu estava usando era, dentro da pasta inetpub colocar a pasta fotos_classificados. Era como eu estava gravando. Eu continuo conseguindo gravar, pelo fato de estar fora da pasta wwwroot, mas, não consigo carregar a foto na hora de exibir os detalhes do classificado.Como devo proceder?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para efeito daqueles que gostariam de saber como eu prossegui para fazer o upload de arquivos, aqui vai o código.

<%   dim conMasterFest   dim imagem   dim fotoClassificado   dim recClassificados   set conMasterFest = server.createobject ("adodb.connection")   conMasterFest.open "driver={MySQL ODBC 3.51 Driver};server=localhost;database=masterfest;user=root;password=root"   set imagem = server.createobject ("aspsmartupload.smartupload")   imagem.upload   for each file in imagem.files      if not file.ismissing then         file.saveas "C:\Inetpub\wwwroot\MasterFest\fotos_classificados\"& file.filename         fotoClassificado = file.filename         del = file.filename      end if   next   set recClassificados = server.createobject ("adodb.recordset")   recClassificados.open "select * from classificados", conMasterFest, 3, 3   recClassificados.addnew      recClassificados ("tituloClassificado") = imagem.form ("tituloClassificado")      recClassificados ("fotoClassificado") = fotoClassificado      recClassificados ("descClassificado") = imagem.form ("descClassificado")   recClassificados.update   conMasterFest.close   set conMasterFest = nothing   response.write "<script>"   response.write "   alert ('Cadastro de classificado efetuado!');"   response.write "   location='classificados.asp'"   response.write "</script>"%>

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.