Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

Problema com Persits.Upload nao consigo salvar

Recommended Posts

Bom Dia Pessoal,

 

Estou desenvolvendo um script para fazer upload, mas nunca usei eu presits, alguem poderia me ajudar? ele salva a imagem na pasta mas nao seu como farei para salvar o nome da imagem no banco e outros campos que coloquei como descricao, nome, etc. Obrigado

 

CODE
<%IF opc = "inserir" THEN

session.LCID = 1046

Set objUpload = Server.CreateObject("Persits.Upload")

objUpload.Save(Server.MapPath("..\assets\img\images\"))

Response.Write "Arquivo enviado com sucesso!"

imagem = Upload.Form("imagem")

titulo = Upload.Form("titulo")

titulo = Upload.Form("titulo")

chamada = Upload.Form("chamada")

conteudo = Upload.Form("conteudo")

exibir = Upload.Form("exibir")

data_add = day(now)&"/"&month(now)&"/"&year(now)

hora_add = time()

 

if objUpload = "" then

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&data_add&"','"&hora_add&"')", strcon

else

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,imagem,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&imagem&"','"&data_add&"','"&hora_add&"')", strcon

end if

response.redirect("noticias.asp")

END IF%>

 

o erro que dá é esse:

 

Arquivo enviado com sucesso!

Microsoft VBScript runtime error '800a01a8'

 

Object required: ''

 

/adm/noticias.asp, line 53

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara tem um vacilo na sua programação aqui você esta setado o objeto

 

Set objUpload = Server.CreateObject("Persits.Upload")

 

esta tudo certo, mais na hora de recuperar você esta errado

 

titulo = Upload.Form("titulo")

 

tem que ser

titulo = objUpload .Form("titulo")

 

que é o nome do seu objeto, e para recuperar imagem você tem que fazer isto:

Set objUpload = Server.CreateObject("Persits.Upload")

objUpload.Save(Server.MapPath("..\assets\img\images\"))

Set File = objUpload .Files("imagem")

Response.Write "Arquivo enviado com sucesso!"

 

imagem = File.FileName

Compartilhar este post


Link para o post
Compartilhar em outros sites

só complementando.

 

if objUpload = "" then

você está comparando nada com coisa nenhuma!

 

faça o que o Kaplan disse e concerte essa linha para comparar o campo do formulário imagem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu galera pela dica consegui funfar mas ele so funfa se eu colocar a image, se nao colocar ele dá pau:

 

CODE
IF opc = "inserir" THEN

session.LCID = 1046

Set UpLoad = Server.CreateObject("Persits.Upload")

UpLoad.Save ("caminhodapasta\")

Set File = UpLoad.Files("imagem")

Filename = File.extractfilename ' aqui Obtemos o Nome da Imagem

titulo = Upload.Form("titulo")

titulo = Upload.Form("titulo")

chamada = Upload.Form("chamada")

conteudo = Upload.Form("conteudo")

exibir = Upload.Form("exibir")

data_add = day(now)&"/"&month(now)&"/"&year(now)

hora_add = time()

if objUpload = "" then

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&data_add&"','"&hora_add&"')", strcon

else

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,imagem,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&Filename&"','"&data_add&"','"&hora_add&"')", strcon

end if

response.redirect("noticias.asp")

END IF

 

olha o erro:

 

Microsoft VBScript runtime error '800a01a8'

 

Object required: 'File'

 

/adm/noticias.asp, line 53

Compartilhar este post


Link para o post
Compartilhar em outros sites

por que aqui você comparou o caminho e não o campo da imagem?

if caminho = "" then

se você colocar o campo da imagem ele não dar erro, primeiro verifique se o campo está vazio, depois você faz o update da imagem na pasta e o cadastramento no banco!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara sinceramente, não estou conseguindo, já coloquei imagem como esta abaixo, Filename, e nada... será que é o local onde coloco a condição que está errado?

 

CODE
IF opc = "inserir" THEN

session.LCID = 1046

Set UpLoad = Server.CreateObject("Persits.Upload")

UpLoad.Save ("d:\accounts\julioasp\assets\img\images\")

Set File = UpLoad.Files("imagem")

Filename = File.extractfilename ' aqui Obtemos o Nome da Imagem

titulo = Upload.Form("titulo")

titulo = Upload.Form("titulo")

chamada = Upload.Form("chamada")

conteudo = Upload.Form("conteudo")

exibir = Upload.Form("exibir")

data_add = day(now)&"/"&month(now)&"/"&year(now)

hora_add = time()

if imagem = "" then

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&data_add&"','"&hora_add&"')", strcon

else

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,imagem,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&Filename&"','"&data_add&"','"&hora_add&"')", strcon

end if

response.redirect("noticias.asp")

END IF

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara desculpa ficar incomodando mas não esta funfando nem por reza braba...

Coloquei isso:

 

CODE
IF opc = "inserir" THEN

session.LCID = 1046

Set UpLoad = Server.CreateObject("Persits.Upload")

UpLoad.Save ("caminhodaimagem\")

Set File = UpLoad.Files("imagem")

' aqui Obtemos o Nome da Imagem

titulo = Upload.Form("titulo")

titulo = Upload.Form("titulo")

chamada = Upload.Form("chamada")

conteudo = Upload.Form("conteudo")

exibir = Upload.Form("exibir")

data_add = day(now)&"/"&month(now)&"/"&year(now)

hora_add = time()

If UpLoad.Files("imagem") = "" Then

Set cs_inserir = Server.CreateObject("ADODB.Recordset")

cs_inserir.ActiveConnection = strcon

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&data_add&"','"&hora_add&"')", strcon

else

Filename = File.extractfilename

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,imagem,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&Filename&"','"&data_add&"','"&hora_add&"')", strcon

end if

response.redirect("noticias.asp")

END IF

 

está dando este erro:

 

 

Microsoft VBScript runtime error '800a005b'

 

Object variable not set

 

/adm/noticias.asp, line 61

 

 

e na linha 61 tem justamente a condição:

 

If UpLoad.Files("imagem") = "" Then

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara Parece até sacanagem, mas agora nao está salvando o nome da imagem no banco:

Antes isso aqui funfava: Filename = File.extractfilename

agora não

 

Coloquei o código:

 

CODE
IF opc = "inserir" THEN

session.LCID = 1046

Set UpLoad = Server.CreateObject("Persits.Upload")

UpLoad.Save ("caminhodapasta")

Set File = UpLoad.Files("imagem")

' aqui Obtemos o Nome da Imagem

Filename = File.extractfilename

titulo = Upload.Form("titulo")

titulo = Upload.Form("titulo")

chamada = Upload.Form("chamada")

conteudo = Upload.Form("conteudo")

exibir = Upload.Form("exibir")

data_add = day(now)&"/"&month(now)&"/"&year(now)

hora_add = time()

If Upload.Form("imagem") = "" Then

Set cs_inserir = Server.CreateObject("ADODB.Recordset")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&data_add&"','"&hora_add&"')", strcon

else

Set cs_inserir = Server.CreateObject("ADODB.RecordSet")

cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,imagem,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&Filename&"','"&data_add&"','"&hora_add&"')", strcon

end if

response.redirect("noticias.asp")

END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu utilio o on error resume next

não sei se é o metodo mais correto, pra mim sempre funciona http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

tenta assim

 

IF opc = "inserir" THEN
session.LCID = 1046
Set UpLoad = Server.CreateObject("Persits.Upload")
UpLoad.Save ("caminhodapasta")
Set File = UpLoad.Files("imagem")

on error resume next
' aqui Obtemos o Nome da Imagem
Filename = File.extractfilename
titulo = Upload.Form("titulo")
titulo = Upload.Form("titulo")
chamada = Upload.Form("chamada")
conteudo = Upload.Form("conteudo")
exibir = Upload.Form("exibir")
data_add = day(now)&"/"&month(now)&"/"&year(now)
hora_add = time()
If Upload.Form("imagem") = "" Then
Set cs_inserir = Server.CreateObject("ADODB.Recordset")
cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&data_add&"','"&hora_add&"')", strcon
else
Set cs_inserir = Server.CreateObject("ADODB.RecordSet")
cs_inserir.open "INSERT INTO NOTICIAS (titulo,chamada,conteudo,exibir,imagem,data_add,hora_add) VALUES ('"&titulo&"','"&chamada&"','"&conteudo&"','"&exibir&"','"&Filename&"','"&data_add&"','"&hora_add&"')", strcon
end if
response.redirect("noticias.asp")
END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

É brother to sem sorte hj mesmo... nao funfou e nem deu mensagem nenhuma de erro, simplesmente cadastra os outros campos mas não cadastra o nome da imagem no campo. já tentei um monte de coisas mas nada.... será que é a condição que está atrapalhado? quando a retiro ele cadastra mas so cadastra se tiver imagem.... obrigado pela ajuda ate agora mas se puderem me ajudar mais uma vez. valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

o on error resume next só vai ocultar o erro

 

procura ai no fórum pois tem um exemplos de upload que os usuários retirar o nome da imagem mais dificil não nunca vi problemas a mais

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.