Ir para conteúdo

POWERED BY:

Arquivado

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

raguiar

[Resolvido] Visulizar Imagem

Recommended Posts

Senhores,

 

Após viver uma saga tentando salvar uma imagem em um banco de dados sql, resolvir desistir e mudar a minha rotina.

 

Agora salvo a imagem em uma pasta virtual e guardo no banco apenas o caminho dessa imagem. A rotina esta funcionando bem, porem quando tento ver essa imagem em outro arquivo lendo o caminho do banco e passando para "img src" nao funciona. da a seguinte mensagem de erro:

 

"Informações técnicas (para a equipe de suporte)

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0401)

Fim da instrução esperado

/imagem22/imagem.asp, line 43, column 30

response.write "<td><img src="rs("IMAGE_PATH")&"> <td>"

"

 

Por isso estou postando o meu codigo aqui, na experança de algum colega programador do tipo Zeus possa me ajudar, porque do tipo mestre Yoda nao resolveu.

 

Abraços a todos

 

Rubem

 

 

upload.asp

 

 

<!-- #include file = "upload_funcoes.asp" -->
<%
' Chamando Funções, que fazem o Upload funcionar
byteCount		 = Request.TotalBytes
RequestBin		= Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin


' Recuperando os Dados Digitados ----------------------
codigo	= UploadRequest.Item("cod").Item("Value")
unidade   = UploadRequest.Item("unid").Item("Value")
nome	  = UploadRequest.Item("nome").Item("Value")
descricao = UploadRequest.Item("desc").Item("Value")
familia   = UploadRequest.Item("fam").Item("Value")


' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")

' pasta onde as imagens serao guardadas
pasta_destino	 = Server.MapPath("imagens/")

nome_foto = "/"&nome_foto

' pasta + nome dos arquivos
cfoto = "./imagens" + nome_foto

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
	Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
	Set MyFile = ScriptObject.CreateTextFile(pasta_destino & nome_foto)
	For i = 1 to LenB(foto)
		MyFile.Write chr(AscB(MidB(foto,i,1)))
	Next
	MyFile.Close
end if


' Conecta-se ao Banco de Dados
Set Conexao = Server.CreateObject("adodb.connection")
Conexao.connectionstring = "Provider=SQLOLEDB.1;Password=sa@01;Persist Security Info=True;User ID=sa;Initial Catalog=teste;Data Source=SRV-Teste"
Conexao.open 

' Cadastra os dados no banco de dados
SQL = "insert into Imagens (CODIGO,UNIDADE, NOME, DESCRICAO, FAMILIA,IMAGE_PATH) values  ('"& codigo &"','"& unidade &"','"& nome &"','"& descricao &"','"& familia &"', '"& cfoto &"')"
Set recordSet = Server.CreateObject("adodb.recordset")	
recordSet.open SQL,Conexao,3,2



' Mostra Mensagem de Confirmação na Tela
Response.write "Dados Cadastrados com Sucesso!"

' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 3 segundos..<br>"
response.write "<meta http-equiv='refresh' content='3; url=imagem.asp'/>"
%>


Upload_funcoes.asp

<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next

PosBeg	  = 1
PosEnd	  = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary	= MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)

Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos	  = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos	  = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg   = Pos + 6
PosEnd   = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name	 = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile  = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)

If PosFile <> 0 And (PosFile < PosBound) Then
	PosBeg = PosFile + 10
	PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
	FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
	UploadControl.Add "FileName", FileName
	Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
	PosBeg = Pos + 14
	PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
	ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
	UploadControl.Add "ContentType", ContentType
	PosBeg = PosEnd + 4
	PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
	Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
	Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
	PosBeg = Pos + 4
	PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
	Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If
	UploadControl.Add "Value", Value
	UploadRequest.Add Name, UploadControl
	BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End Sub

Function getByteString(StringStr)
	For i = 1 To Len(StringStr)
		Char = Mid(StringStr, i, 1)
	getByteString = getByteString & ChrB(AscB(Char))
Next
End Function

Function getString(StringBin)
	getString = ""
	For intCount = 1 To LenB(StringBin)
		getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function

' Fim upload sem Componentes -----------------------------------------
%>


imagem.asp
<%
   ' Clear out the existing HTTP header information
   option explicit
   dim rs,consulta
   Response.Expires = -1000
   Response.ExpiresAbsolute = 0
   Response.Buffer = true
   
   Response.Expires = 0
   Response.Buffer = TRUE
   Response.Clear
   
   ' Change the HTTP header to reflect that an image is being passed.
   Response.ContentType = "image/gif"

	
	' Conecta-se ao Banco de Dados
	Set Conexao = Server.CreateObject("adodb.connection")
	Conexao.connectionstring = "Provider=SQLOLEDB.1;Password=sa@01;Persist Security Info=True;User ID=sa;Initial Catalog=teste;Data Source=SRV-Teste"
	Conexao.open 
	

	
   ' The following open line assumes you have set up a System DataSource ' by the name of myDSN.
   'Remember to change the following connection string parameters to reflect the correct values
   'for your SQL server.
	set rs = server.createObject("adodb.recordset")
	consulta ="Select IMAGE_PATH from  Imagens where CODIGO = 1"
	rs.open consulta,Conexao
	
	'Response.BinaryWrite rs("IMAGE_PATH")
   
   Response.End
   %>

<HTML>
   <HEAD><TITLE>Display Image</TITLE></HEAD>
   <BODY>
		Esta pagina ira mostrar uma imagem<BR>
		<table>
		<tr>
			<%	while not rs.eof
				response.write "<td><img src="rs("IMAGE_PATH")&"> <td>"
				rs.movenext
			wend 
			%>
		</tr>
		
   </BODY>
</HTML>

 

CREATE TABLE [dbo].[Imagens] (
	[CODIGO] [char] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[UNIDADE] [int] NULL ,
	[NOME] [varchar] (80) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[DESCRICAO] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[FAMILIA] [int] NULL ,
	[UF] [char] (2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
	[IMAGE_PATH] [char] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
) ON [PRIMARY]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

Response.Write "<td><img src='"& rs("IMAGE_PATH") &"'><td>"

Abs.

 

Valeu parou de dar a mensagem de erro, porem esta dando outra mensagem que nao estou entendo

 

"Tipo de erro:

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

Variável não definida: 'Conexao'

/imagem22/imagem.asp, line 18

"

 

se estou declarando a variavel conexao certo..

 

" Conecta-se ao Banco de Dados

Set Conexao = Server.CreateObject("adodb.connection")

Conexao.connectionstring = "Provider=SQLOLEDB.1;Password=sa@01;Persist Security Info=True;User ID=sa;Initial Catalog=teste;Data Source=SRV-Teste"

Conexao.open"

 

porque essa mensagem ??

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.