Ir para conteúdo

Arquivado

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

lucasmoraes

erro upload sem componentes

Recommended Posts

amigos estou com um problema em meu sistema de upload

ja utilizei este mesmo script por varias vezes e nunca houve problemas so que desta vez estou com o seguinte erro.

Request object error 'ASP 0104 : 80004005'

 

Operation not Allowed

 

Request object error 'ASP 0104 : 80004005'

 

Operation not Allowed

 

/updatefuncao.asp, line 5

 

linha5:

RequestBin = Request.BinaryRead(byteCount)

 

vou postar tudo o cod desta pagina para que vocês verifiquem

 

<!-- #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 ----------------------


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

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

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\")) & Session("nome")
'nome_foto2 = Right(caminho_foto2,Len(caminho_foto2)-InstrRev(caminho_foto2,"\"))


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

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("ImagensPerfil/")
'response.Write(pasta)
nome_foto = "/"&nome_foto
'nome_foto2 = "/"&nome_foto2

' pasta + nome dos arquivos
cfoto = "ImagensPerfil" + nome_foto
'cfoto2 = "album" + nome_foto2
'cfoto = 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

'if foto2 <> "" then
'Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto2)
'For i = 1 to LenB(foto2)
'MyFile.Write chr(AscB(MidB(foto2,i,1)))
'Next
'MyFile.Close
'end if

' Conecta-se ao Banco de Dados
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={MySQL ODBC 3.51 Driver}; 'Server=newpointi.com.br; Port = 3306; Database=relacionamentos_newpointi; Uid=admin_onwebdigit; Pwd=new1004pointi;"


' cadastra os dados no banco de dados
sql = "Insert into tab_usuario_cadastro (foto_perfil) values ('"& cfoto &"') WHERE id_usuario ="& npid &""
conn.Execute(sql)

' Redireciona após 5 segundos
response.write "<script>alert('Foto modificada com sucesso!');</script>"
response.write "<meta http-equiv='refresh' content='5; url=updatefoto.asp'/>"
%>

 

outra coisa que gostaria de saber e como eu faço para alterar o nome da foto ao fazer o upload para que nao aconteça de quando mandar 2 fotos com o mesmo nome ele substituir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

muitas veezes esse erro é de permissão, ou se você estiver executando seu próprio arquivo do manipulador de upload do Windows , esse erro provavelmente ocorre nesta linha:

Request.BinaryRead(Request.Totalbytes)

 

Se assim for, você precisa aumentar a definição para AspMaxRequestEntityAllowed para permitir que arquivos maiores para serem manipulados pelo objeto Request. Olhe para essa configuração no metabase.xml; o padrão é 204800 (200 kb), mas você pode mudá-lo para refletir seu uso esperado. Você precisará reiniciar o IIS para essa mudança acontecer, a menos que "permite o acesso direto metabase editar" está habilitada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O include está na mesma pasta que o arquivo que o chama ?

 

Certa vez tive um problema desse e havia esquecido de colocar o include na mesma pasta ou informar o caminho do include corretamente.

 

Sobre o nome da foto, você pode usar o valor da date e hora do upload e concatenar isso ao nome da foto, criando assim nomes unicos mesmo que ele mande várias fotos com o mesmo nome, pois os segundos serão sempre diferentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

muitas veezes esse erro é de permissão, ou se você estiver executando seu próprio arquivo do manipulador de upload do Windows , esse erro provavelmente ocorre nesta linha:

Request.BinaryRead(Request.Totalbytes)

 

Se assim for, você precisa aumentar a definição para AspMaxRequestEntityAllowed para permitir que arquivos maiores para serem manipulados pelo objeto Request. Olhe para essa configuração no metabase.xml; o padrão é 204800 (200 kb), mas você pode mudá-lo para refletir seu uso esperado. Você precisará reiniciar o IIS para essa mudança acontecer, a menos que "permite o acesso direto metabase editar" está habilitada.

bom mais este script roda em um host e nao tenho acesso config de iis tenho apenas acesso a permissoes e ja dei essas permissoes a pasta que sera enviada as fotos oque sera que da pra fazer

Compartilhar este post


Link para o post
Compartilhar em outros sites

o tamanho do arquivo, ou seja o limite esta correto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

para aumentar a definição para AspMaxRequestEntityAllowed para permitir que arquivos maiores para serem manipulados pelo objeto Request. Olhe para essa configuração no metabase.xml; o padrão é 204800 (200 kb), mas você pode mudá-lo para refletir seu uso esperado. Você precisará reiniciar o IIS para essa mudança acontecer, a menos que "permite o acesso direto metabase editar" está habilitada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal agora o upload esta dando erro

Active Server Pages error 'ASP 0113'

 

Script timed out

 

/updatefuncao.asp

 

The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.

 

nao faz o upload fica assim alguem pode me ajudar com este erro e tambem me falando como eu modifico o nome da imagem ao fazer o upload para nao acontecer de substituir uma imagem com o mesmo nome?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o tamanho do arquivo que esta tentando "upar"

Compartilhar este post


Link para o post
Compartilhar em outros sites

mede as config. conforme o post #7

Compartilhar este post


Link para o post
Compartilhar em outros sites

mede as config. conforme o post #7

nao tenho acesso as configs do iis pois é uma revenda que eu possuo, mas ja pedi para eles e la parece estar tudo correto.

 

o estranho e que o script demora a carregar a pagina de erro, e como se estivesse usando uma internet discada.... e ai ele para de rodar o script por timed out.

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas para teste, tente usar outro UPLOAD do lab. de script, te, varios funcionando pereitamente , inclusive com progress bar que coloquei, para ver se não é o seu code.

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.