Ir para conteúdo

POWERED BY:

Arquivado

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

rico_ideah

[Resolvido] com Upload do Imasters

Recommended Posts

Fala Galera,

 

Estou utilizando o tuto de upload que está no laboratorio...

 

Está dando o seguinte erro:

 

ADODB.Connection error '800a0e78'

 

Operation is not allowed when the object is closed.

 

/apm/insere_noticia.asp, line 68

 

segue abaixo o código:

 

<%
 
' 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 ----------------------
noticia = UploadRequest.Item("noticia").Item("Value")
titulo = UploadRequest.Item("titulo").Item("Value")
obs = UploadRequest.Item("obs").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 = Server.MapPath("not_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 & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.close [b]<<<------------------------ LINHA DO ERRO[/b]
end if
	
		SQL = "INSERT INTO tb_noticias(titulo, texto, obs, dta, foto) VALUES('"&titulo&"', '"&noticia&"', '"&obs&"','"&now()&"','"&foto&"')"
		conexao.execute(SQL)
		

  %>

ele está fazendo o upload da imagem...mas aparece esse erro....

 

o que poderia serr???

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta fazendo o upload da imagem e salvando no banco de dados ...

 

veja isso:

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("not_imagens/")
nome_foto = "/"&nome_foto
você disse q a sua pasta se chama not_imagens

 

Aki você diz q sua página se chama imagens

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua inserção deverá ser assim:

SQL = "INSERT INTO tb_noticias(titulo, texto, obs, dta, foto) VALUES('"&titulo&"', '"&noticia&"', '"&obs&"','"&now()&"','"&cfoto&"')"
conexao.execute(SQL)
Pois agora conforme abaixo cfoto é quem recebe o valor da pasta e do aquivo enviado ...

' pasta + nome dos arquivos
cfoto = "imagens" + nome_foto
... Dá uma verificada no nome dessa pasta imagens ... Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Codigo corrigido....mas erro continua....

 

meu arquivo de conexao...chama conexao.asp

 

<!--#include file="scripts/conexao.asp"-->
<!--#include file="scripts/upload_imaster.asp"-->

Minha pasta chama not_imagens

 

O erro na linda 68 é a linah do conexao.execute(SQL)

<%
 
' 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 ----------------------
noticia = UploadRequest.Item("noticia").Item("Value")
titulo = UploadRequest.Item("titulo").Item("Value")
obs = UploadRequest.Item("obs").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 = Server.MapPath("not_imagens/")
nome_foto = "/"&nome_foto

' pasta + nome dos arquivos
cfoto = "not_imagens" + nome_foto

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.close
end if
	
SQL = "INSERT INTO tb_noticias(titulo, texto, obs, dta, foto) VALUES('"&titulo&"', '"&noticia&"', '"&obs&"','"&now()&"','"&cfoto&"')"
conexao.execute(SQL)
		

  %>

Formulario:

 

<form action="insere_noticia.asp" method="post" enctype="multipart/form-data" name="form1" id="form1">
			  <span class="titulo">INSERIR NOVA NOTÍCIA</span><br />
			  <br />
			  Título da Notícia: 
			  <input type="text" name="titulo" id="titulo" />
				<br />
				  <br />
			  Notícia:<br />
			   <textarea name="noticia" cols="45" rows="9" id="noticia"></textarea>
				  <br />
				  <br />
			  Observação:<br />
			  <textarea name="obs" cols="45" rows="6" id="obs"></textarea>
				  <br />
				  <br />
			  Imagem:
			  <input type="file" name="foto" id="foto" />
				  <br />
				  <br />
			  <input type="submit" name="button" id="button" value="Enviar" />
			</form>

Fiz as alteracoes e o erro continua...porem o upload é feito para a pasta....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tendi o erro você deve ter alguma coisa do tipo set rs = conexao.execute(sql) para poder executar a sua linha sql ... Posta a sua conexão ai pra gente matar esse erro ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Minha conexao...

 

<%

 

caminho=left(Server.mappath(Request.ServerVariables("PATH_INFO")),InstrRev(Server.mappath(Request.ServerVariables("PATH_INFO")),"\"))

 

Set conexao = Server.CreateObject("ADODB.Connection")

 

conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&"../../databases\bdapm.mdb"

 

conexao.open

 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta coloca isso abaixo da sua linha sql: set rs = conexao.execute(sql)

 

E altere o caminho da sua base de dados assim: conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&" databases\bdapm.mdb"

 

dá uma verficada se essa conexão está funcionando ... qd você faz o upload, a imagem vai para a pasta ??? e salva algum registro no banco de dados ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz as alteracoes...

 

SQL = "INSERT INTO tb_noticias(titulo, texto, obs, dta, foto) VALUES('"&titulo&"', '"&noticia&"', '"&obs&"','"&now()&"','"&cfoto&"')"

set rs = conexao.execute(sql)

 

Ele faz o upload da imagem...mas nao grava as informacoes no BD....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tendi ... verifica os campos do banco de dados se são os mesmos titulo, texto, obs, dta, foto ... Mas ainda está dando o mesmo erro, creio q a sua conexão ñ está funcionando, dá uma verificada e posta ae ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara testei uma conexão aki de acordo com a sua ...

'Cria o objeto RecordSet e atribui a variável 
Set conexao =  Server.CreateObject("ADODB.Connection")
'Abre a conexão com o banco de dados utilizando o Drive {Microsoft Access...
'(para utilizar outro, ex: Paradox é só substituir o Drive pelo do Paradox)
'(*.mdb) indica que o arquivo utiliza extensão mdb
'conexao.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
strDBPath = Server.MapPath("banco.mdb")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
Sua linha SQL deve ficar assim :
sql = "INSERT INTO tb_noticias(titulo, texto, obs, dta, foto) VALUES('"&titulo&"', '"&noticia&"', '"&obs&"','"&now()&"','"&cfoto&"')"
set rs = conexao.execute(sql)
Veja se isso funciona ai ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jow Xavier achei o erro aquii....

 

No meu arquivo conexao a linha conexao.open estava comentada....rsrsrs 3 dias q eu to mexendo nisso nao acredito...

 

Mas valew pela força e pleo codigo de upload....

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom q resolveu ... então sua linha estava comentada hein hehehe ... O script de upload qu fiz uma adaptação qd peguei ele aki mesmo no forúm só tinha a inserção , eu fiz um UPDATE e EXCLUSÃO de dados hehe ... q bom q você gostou ... Abraçosss

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.