Ir para conteúdo

POWERED BY:

Arquivado

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

Neji

[Resolvido] Inserçao de imagens

Recommended Posts

boas gente,

 

 

e assim tenho a dar tudo direito ao fazer o upload da imagem mas o problema e que nao sei como depois mete na base de dados o nome da imagem sem ter que ser o utilizador a por.

 

aqui esta o código

<!--#include file="conn.asp" --><html><head><title>AspUpload : Upload Simples</title></head><body><h4>AspUpload</h4><b>Select 1, 2 or 3 files, then click the Upload button. Images (.gif, .jpg, .png) will be automatically displayed.</b><p>  <form name="MyForm" method="post" enctype="multipart/form-data" action="inserirfotos2.asp">  <table cellspacing="0" cellpadding="3" border="1">	<tr>	  <td bgcolor="#FFFFCC">		<input type="file" size="40" name="img00" /><br />		Digite o Nome da Foto <input type="text" size="40" name="img" /><br />		<input type="submit" value="Upload" /><br />	  </td>	</tr>  </table>  </form></p></body></html>

 

e tambem

 

 

<!--#include file="conn.asp" --><html><head><title>AspUpload : Upload Simples</title></head><%' Cria uma instância do controleSet AspUpload = Server.CreateObject("Persits.Upload.1")' Não sobrevescrever ficheirosAspUpload.OverwriteFiles = FalseOn Error Resume Next ' Limita o tamanho máximo do ficheiro em 1MBAspUpload.SetMaxSize 1048576' Salva o ficheiroCount = AspUpload.Save("c:Inetpubwwwrootestagio")' Tira o objeto da memóriaSet AspUpload = NothingIf Err <> 0 Then  Response.Write "Erro. " & Err.DescriptionElse  Response.Write "Upload realizado com sucesso."End Ifimg1=request.form("img")sql = "insert into fotos(imagem) values ('"&img1&"')"Conexao.Execute(SQL)Conexao.Close%></html>
ao fazer

sql = "insert into fotos(imagem) values ('"&img1&"')"

 

Conexao.Execute(SQL)

 

Conexao.Close

 

deu me na tabela fotos do campo imagens da base de dados o seguinte: BINARY DATA

 

e nao me aparece a imagem Imagem Postada

 

alguem ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

no db voce quer armazenar a imagem mesmo ou apenas o seu caminho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

AspUpload.ExtractFileName 'pega nome do arquivo

AspUpload.ExtractFolderName 'pega diretório do arquivo

 

É só você juntar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso... mas esse que você citou informa só o nome do arquivo.

 

Outra coisa, tem que colocar antes da linha Set AspUpload = Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao da...

<%



' Cria uma instância do controle
Set AspUpload = Server.CreateObject("Persits.Upload.1")
' Não sobrevescrever ficheiros
AspUpload.OverwriteFiles = False

On Error Resume Next 


' Limita o tamanho máximo do ficheiro em 1MB
AspUpload.SetMaxSize 1048576
' Salva o ficheiro
Count = AspUpload.Save("c:\Inetpub\wwwroot\estagio")


' Tira o objeto da memória
Set AspUpload = Nothing

If Err <> 0 Then
  Response.Write "Erro. " & Err.Description
Else




  Response.Write "Upload realizado com sucesso."
End If

Set AspUpload = Nothing 

AspUpload.ExtractFolderName
ficheiro=AspUpload.ExtractFileName

sql = "insert into fotos(imagens) values ('"&ficheiro&"')"

Conexao.Execute(SQL)


Conexao.Close


%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você leu meu último post com atenção? Falei para fazer justamente o contrário e unir os dois... ¬¬

Set AspUpload = Nothing

AspUpload.ExtractFolderName
ficheiro=AspUpload.ExtractFileName

Faz assim:

ficheiro= AspUpload.ExtractFolderName & "\" & AspUpload.ExtractFileName
Set AspUpload = Nothing
Posta o resultado, pq não sei se ele retorna a barra para direta ou esquerda. Dependendo terá que inverter ela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%



' Cria uma instância do controle
Set AspUpload = Server.CreateObject("Persits.Upload.1")
' Não sobrevescrever ficheiros
AspUpload.OverwriteFiles = False

On Error Resume Next 


' Limita o tamanho máximo do ficheiro em 1MB
AspUpload.SetMaxSize 1048576
' Salva o ficheiro
Count = AspUpload.Save("c:\Inetpub\wwwroot\estagio")


' Tira o objeto da memória
Set AspUpload = Nothing

If Err <> 0 Then
  Response.Write "Erro. " & Err.Description
Else




  Response.Write "Upload realizado com sucesso."
End If

ficheiro= AspUpload.ExtractFolderName & "\" & AspUpload.ExtractFileName
Set AspUpload = Nothing

sql = "insert into fotos(imagens) values ('"&ficheiro&"')"

Conexao.Execute(SQL)


Conexao.Close


%>
</html>

 

inseriu um campo vazio na base de dados :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera essa linha

ficheiro= AspUpload.ExtractFolderName & "\" & AspUpload.ExtractFileName

 

para

ficheiro= AspUpload.Path & "\" & AspUpload.Name

 

Posta o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

voltou a inserir vazio...

 

nao tem nada a ver com o enctype="multipart/form-data"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que informar quando fizer upload.

 

Você está setando Nothing duas vezes. Remova a primeira linha que faz isso.

 

Tira o "On Error Resume Next" por enquanto também, pq está dando erro e não está sendo exibido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Objecto necessário

/estagio/inserirfotos2.asp, linha 39

 

nomeadamente ficheiro= AspUpload.Path & "\" & AspUpload.Name

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta como está seu código agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!--#include file="conn.asp" -->

 

<html>

<head>

<title>AspUpload : Upload Simples</title>

</head>

 

 

<%

 

 

' Cria uma instância do controle

Set AspUpload = Server.CreateObject("Persits.Upload.1")

' Não sobrevescrever ficheiros

AspUpload.OverwriteFiles = False

 

 

' Limita o tamanho máximo do ficheiro em 1MB

AspUpload.SetMaxSize 1048576

' Salva o ficheiro

Count = AspUpload.Save("c:\Inetpub\wwwroot\estagio")

 

' Tira o objeto da memória

Set AspUpload = Nothing

 

If Err <> 0 Then

Response.Write "Erro. " & Err.Description

Else

 

Response.Write "Upload realizado com sucesso."

End If

 

ficheiro= AspUpload.ExtractFolderName & "\" & AspUpload.ExtractFileName

 

Set AspUpload = Nothing

 

sql = "insert into fotos(imagens) values ('"&ficheiro&"')"

 

Conexao.Execute(SQL)

 

 

Conexao.Close

 

 

%>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como disse anteriormente, remova essas linhas:

' Tira o objeto da memória
Set AspUpload = Nothing
Execute e poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

da o mesmo erro na linha onde tem

 

ficheiro= AspUpload.ExtractFolderName & "\" & AspUpload.ExtractFileName

 

* Tipo de erro:

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

Objecto necessário

/estagio/inserirfotos2.asp, linha 33

 

 

 

* Page:

POST 29891 bytes para /estagio/inserirfotos2.asp

 

* Dados POST

error '80020009'

 

Ocorreu uma excepção.

 

/iisHelp/common/500-100.asp, line 224

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta como está seu código agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esquece ja da outro erro tinha me engando a remover o ' Tira o objeto da memória

Set AspUpload = Nothing e tirei o de baixo

 

 

agora da

 

Tipo de erro:

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

O objecto não suporta esta propriedade ou método: 'ExtractFolderName'

/estagio/inserirfotos2.asp, linha 31

<!--#include file="conn.asp" -->

<html>
<head>
<title>AspUpload : Upload Simples</title>
</head>


<%


' Cria uma instância do controle
Set AspUpload = Server.CreateObject("Persits.Upload.1")
' Não sobrevescrever ficheiros
AspUpload.OverwriteFiles = False


' Limita o tamanho máximo do ficheiro em 1MB
AspUpload.SetMaxSize 1048576
' Salva o ficheiro
Count = AspUpload.Save("c:\Inetpub\wwwroot\estagio")


If Err <> 0 Then
  Response.Write "Erro. " & Err.Description
Else

  Response.Write "Upload realizado com sucesso."
End If

ficheiro= AspUpload.ExtractFolderName & "\" & AspUpload.ExtractFileName

Set AspUpload = Nothing

sql = "insert into fotos(imagens) values ('"&ficheiro&"')"

Conexao.Execute(SQL)


Conexao.Close


%>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Havia pedido que você colocasse:

ficheiro= AspUpload.Path & "\" & AspUpload.Name

 

...

 

Coloca e posta o resultado.

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.