Ir para conteúdo

POWERED BY:

Arquivado

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

Dias Sanches

[Resolvido] Problemas com upload

Recommended Posts

Bom dia a todos,

 

Favor tenho um codigo de upload com registro no bd está funcionando direitinho, mas se o número de imagens ultrapassa mais de 200kb ele aparece o seguinte erro:

 

 

Objeto Request erro 'ASP 0104 : 80004005'

 

Operação não permitida

 

/athelier/addnotfoto1.asp, line 42

 

Como faço para aumentar sua capacidade?

 

Na linha do código de 41 à 44 está:

 

byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead (byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

 

Agradeço desde já a ajuda que todos vem me dado ao longo deste tempo de forum.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas, por defeito o iis6 tem os 200kb de limite para upload, se tiver acesso ao servidor pode editar um ficheiro xml que agora não me lembro do nome, caso contrário terá que perguntar ao apoio do seu serviço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudei o meu codigo de upload para AspUpload, mas estou tendo uma pequena dificuldade, vocês poderiam me ajudar a resolver.

 

Esta quase tudo funcionando, as imgens estão sendo hospedadas, esta renomeando direitinho, mas no bd esta gravando apenas uma imagem em todos os campos... ou seja onde é adiciondo um novo produto as imagens ficam repetidas.

 

O que está faltando?

 

Aqui esta o meu código:

 

<%



'objRSr("Email") = Upload.Form("Email")

SET Conexao = Server.CreateObject("AdoDB.Connection")
Conexao.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\web\localuser\user\www\dados\dados.mdb"


SET UPLOAD = Server.CreateObject("Persits.Upload")

Upload.OverwriteFiles = False
Upload.Save "D:\web\localuser\atheliergeppetto\www\user\produtos\"


For Each File in Upload.Files
foto = File.FileName
foto1p = File.FileName
foto1g = File.FileName
foto2p = File.FileName
foto2g = File.FileName
foto3p = File.FileName
foto3g = File.FileName
Next

' Recuperando os Dados Digitados ----------------------
gep = Upload.Form("Categoria")
Produto = Upload.Form("Produto")
Codigo = Upload.Form("Codigo")
Valor = Upload.Form("Valor")
Minidescricao = Upload.Form("Descricao")


SET RS = Server.CreateObject("AdoDB.RecordSet")
Conexao.Execute("INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/"& foto & "' , 'produtos/"& foto1p &"' , 'produtos/"& foto1g &"' , 'produtos/"& foto2p &"' , 'produtos/"& foto2g &"' , 'produtos/"& foto3p &"' , 'produtos/"& foto3g &"')")
SET RS = Nothing

For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
response.write "não é uma imagem valida"
End If
Next

' Mostra Mensagem de Confirmação na Tela
Response.write "Parabéns, a notícia foi inserida com sucesso com sucesso!"

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada akipode te ajudar, verifique as permissoes estao corretas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo o que pude examiar o problema não esta no banco, creio que esta aqui

 

For Each File in Upload.Files 
foto = File.FileName 
foto1p = File.FileName 
foto1g = File.FileName 
foto2p = File.FileName 
foto2g = File.FileName 
foto3p = File.FileName 
foto3g = File.FileName

Ele faz upload de todas as imagens corretamente pega o nome da última imagem e lança para o banco.

 

Repetindo o nome todos o campos das imagens...

 

Sinceramente não sei como fazer o filtro para que o nome de cada imagem vá para seu respectivo campo no bd.

 

 

Favor me dê ua luz

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça um FOR para incluir multiplos registros, d[a uma pesquisada no forum, k tem sobre isoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz algumas mudanças no codigo, agora estou me deparando com o seguinte erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a01b6'

 

O objeto não dá suporte para a propriedade ou método

 

/athelier/postar.asp, line 106

 

Estou perdendo os parafusos tentando resolver eu vi outras dicas pelo ASPUpload mas mesmo assim estou travado

 

Abaixo esta todo o meu código vocês podem me ajudar?

 

<%

SET UPLOAD = Server.CreateObject("Persits.Upload")

Upload.SetMaxSize 500000, True

' Save to memory. Path parameter is omitted
Count = Upload.Save

' Two files must be selected
If Count <> 7 Then
   Response.Write "You must select 7 files."
   Response.End
End If

' Create two folders, ignore "already exists" error
Upload.OverwriteFiles = False
Upload.CreateDirectory "D:\web\localuser\atheliergeppetto\www\athelier\produtos\mini\", True
Upload.CreateDirectory "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\", True
Upload.CreateDirectory "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\", True

' Obtain File objects
Set File1 = Upload.Files("FILE1")
Set File2 = Upload.Files("FILE2")
Set File3 = Upload.Files("FILE3")
Set File4 = Upload.Files("FILE4")
Set File5 = Upload.Files("FILE5")
Set File6 = Upload.Files("FILE6")
Set File7 = Upload.Files("FILE7")

' Build name from session ID
Name = Session.SessionID

' Save
File1.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\mini\" & Name & File1.Ext
Response.Write "File 1 is saved under " & File1.Path & "<BR>"

File2.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\" & Name & File2.Ext
Response.Write "File 2 is saved under " & File2.Path & "<BR>"

File3.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\" & Name & File3.Ext
Response.Write "File 3 is saved under " & File3.Path & "<BR>"

File4.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\" & Name & File4.Ext
Response.Write "File 4 is saved under " & File4.Path & "<BR>"

File5.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\" & Name & File5.Ext
Response.Write "File 5 is saved under " & File5.Path & "<BR>"

File6.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\pq\" & Name & File6.Ext
Response.Write "File 6 is saved under " & File6.Path & "<BR>"

File7.SaveAs "D:\web\localuser\atheliergeppetto\www\athelier\produtos\gr\" & Name & File7.Ext
Response.Write "File 7 is saved under " & File7.Path & "<BR>"

If Not File1 Is Nothing Then

  ' Build ODBC connection string
SET Conexao = Server.CreateObject("AdoDB.Connection")
Conexao.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\web\localuser\atheliergeppetto\www\dados\dados.mdb"


  ' Build SQL INSERT statement
SET RS = Server.CreateObject("AdoDB.RecordSet")  <-------- neste ponto que está acusando a mensagem de erro
Conexao.Execute("INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/mini/"& File1 & "' , 'produtos/pq/"& File2 &"' , 'produtos/gr/"& File3 &"' , 'produtos/pq/"& File4 &"' , 'produtos/gr/"& File5 &"' , 'produtos/pq/"& File6 &"' , 'produtos/gr/"& File7 &"')")

  ' Save to database
  File.ToDatabase Connect, SQL
  Response.Write "File saved."
Else
  Response.Write "File not selected."
End if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a linha 106 ?!

Se você está tentando passar valores QueryString para alguma propriedade ou método , você receberá o seguinte erro:

Compartilhar este post


Link para o post
Compartilhar em outros sites

A linha 106 é:

 

Conexao.Execute("INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/mini/"& File1 & "' , 'produtos/pq/"& File2 &"' , 'produtos/gr/"& File3 &"' , 'produtos/pq/"& File4 &"' , 'produtos/gr/"& File5 &"' , 'produtos/pq/"& File6 &"' , 'produtos/gr/"& File7 &"')")

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um response.write na sua string sql, para ver o k esta sendo passada...

response.write(SQL)

response.end()

 

e tente executar assim

 

set rs=server.createobject("ADODB.Recordset")
	'crio o SQL
	SQL="INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/mini/"& File1 & "' , 'produtos/pq/"& File2 &"' ,'produtos/gr/"& File3 &"' , 'produtos/pq/"& File4 &"' , 'produtos/gr/"& File5 &"' ,'produtos/pq/"& File6 &"' , 'produtos/gr/"& File7 &"')")
	rs.open SQL,conexao,1,3
o k é o 'produtos/gr/ no value do sql

Compartilhar este post


Link para o post
Compartilhar em outros sites

'produtos/gr/ - Ele grava no bd o caminho das imagens

 

Desta outra forma esta aparecendo a seguinte mensagem:

 

Erro de compilação do Microsoft VBScript erro '800a0401'

 

Fim da instrução esperado

 

/athelier/postar.asp, line 108

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que escreveu depois que testou isso?

 

response.write(SQL)
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Mario

 

O code response.write adicionei no seguinte caminho:

 

response.write(SQL) 
  ' Build ODBC connection string
SET Conexao = Server.CreateObject("AdoDB.Connection")
Conexao.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=D:\web\localuser\atheliergeppetto\www\dados\dados.mdb"

  ' Build SQL INSERT statement
  set rs=server.createobject("ADODB.Recordset") 
        'crio o SQL        
	   SQL="INSERT INTO produtos (gep,Codigo,Produto,Valor,Minidescricao,foto,foto1p,foto1g,foto2p,foto2p,foto2g,foto3p,foto3g) VALUES ('"& gep &"' , '"& Codigo &"' , '"& Produto &"' , '"& Valor &"' , '"& Minidescricao &"' , 'produtos/mini/"& File1 & "' , 'produtos/pq/"& File2 &"' ,'produtos/gr/"& File3 &"' , 'produtos/pq/"& File4 &"' , 'produtos/gr/"& File5 &"' ,'produtos/pq/"& File6 &"' , 'produtos/gr/"& File7 &"')"
        rs.open SQL,conexao,1,3
SET RS = Nothing
response.end()

Esta certo?

 

Caso sim apareceu a mesma notícia - O objeto não dá suporte para a propriedade ou método

Compartilhar este post


Link para o post
Compartilhar em outros sites

não

 

poe exatamente acima do response.end()

 

e deve mostra algo na tela

 

post aqui o que aparecer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece isso

select * from usuarios where id_usuario =2

 

Isto faz parte do codigo para o usuário se logar este é o código:

 

<%If session("usr_log_ok")="" Then 
  Response.Write "Você está Logado no sistema!"
  Response.write "<a href='login.asp'>Clique aqui para se logar.</a>"
  Session("pagina_restrita") = Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
  Response.End()
End If
set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../dados/dados.mdb")&";"
conexao.open
SQL = "select * from usuarios where id_usuario ="&session("usr_log_ok")
Set RS = Conexao.Execute(SQL)
If rs.eof then
Response.write "Ocorreu um erro ao se logar no sistema!"
end if %>

Isso tem haver com o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que ser depois do sql do INSERT pois é lá que está dando erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido,

 

Removi aquele conteúdo depois vejo com mais tempo para inserir o login e senha sem problemas

 

Mas apareceu outro, caramba parace que estão jogando praga.

 

Ele lança mostra que esta tudo ok, mas não vai para o banco... pelo o que analizei esta correto

 

Você sabe o que pode estar faltando?

 

Vou pesquisar aqui ....

 

Obrigadão pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adicionei Upload.Form para recuperar os dados digitados

 

gep = Upload.Form("Categoria")
Produto = Upload.Form("Produto")
Codigo = Upload.Form("Codigo")
Valor = Upload.Form("Valor")
Minidescricao = Upload.Form("Descricao")

Mas não adiantou

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas você continua com o insert ou retirou?

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.