Ir para conteúdo

Arquivado

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

dark0

Upload sem componentes

Recommended Posts

olá...

 

estou com um problema...

 

meu script de upload funcionou local, mas na web deu o seguinte erro:

 

Erro de tempo de execução do Microsoft VBScript erro '800a0046' Permissão negada /portarias/upload/upload.inc, line 263

 

 

Seria permissão no servidor?

A pasta para upload já tem permissão total

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

é permissão sim.Alguns servidores, possuem somente uma pasta com essa permissão de escrita que você precisa.Entao, você precisa mudar no codigo para os arqivos serem enviados para essa pasta.e, para descobrir qual a pasta, tem que falar com o suporte do hostt+

Compartilhar este post


Link para o post
Compartilhar em outros sites

dark0eu tentei fazer esse aupload. seu esse erro. o que seria isso? Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][Driver ODBC para Microsoft Access]Erro geral Não é possível abrir a chave 'Temporary (volatile) Jet DSN for process 0x7b0 Thread 0x544 DBC 0xbb39d4 Jet' do Registro.abçsP.S me desculpem acho que a minha questão entrou em outro lugar, por isso postei novamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá o sisteminha funcionou que é uma blza... Gostaria de saber se á possível por um campo nome do evento no formulário , no qual o usuário digita por exemplo "natal" e seja criada a pasta natal e as fotos sejam enviadas para dentro dela., se for possível gostaria de saber como. Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

dark0eu tentei fazer esse aupload. seu esse erro. o que seria isso? Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][Driver ODBC para Microsoft Access]Erro geral Não é possível abrir a chave 'Temporary (volatile) Jet DSN for process 0x7b0 Thread 0x544 DBC 0xbb39d4 Jet' do Registro.abçsP.S me desculpem acho que a minha questão entrou em outro lugar, por isso postei novamente

Olá amigo, beleza?Bom, este erro aí, pode ser por algumas coisas:1- Pode ser Problema de Permissão na pasta onde está o banco de dados;2- Pode ser Problema no caminho do banco de dados;3- Pode ser Problema no Driver que liga a pagina ASP ào Banco de dados;De todas as hipóteses .. eu descartaria somente a 2, pois pode ser permissão.. ou problema no driver.Comece olhando as permissões da pasta..Ou ,se você já tem algum sisteminha funcionando aí.. que use banco de dados.. deixe a conexão igual à que você usa nos outros sistemas;Qualquer coisa pode postar aí!

Olá o sisteminha funcionou que é uma blza... Gostaria de saber se á possível por um campo nome do evento no formulário , no qual o usuário digita por exemplo "natal" e seja criada a pasta natal e as fotos sejam enviadas para dentro dela., se for possível gostaria de saber como. Obrigado

OláPossível, com certeza é.Porém, você precisa ter um pouco de conhecimento de FSO.. para criar a pasta durante o processo.você precisa aprender a criar pasta com ASP, e depois só integrar nesse código aqui;Por hora, lhe dou esse link..é a melhor referencia de FSO que eu encontrei na web.http://www.sloppycode.net/Reference/FSO/Provavelmente, você usará o comando CreateFolder para criar a pasta, ou alguma coisa parecidaQualquer coisa pode postarAbraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá...estou usando o exemplo do inicio do tópico, mas surgiu um erro...estou testando ele local...erro:Erro de tempo de execução do Microsoft VBScript (0x800A0046)Permissão negada/uploadSemComponente/upload_form2.asp, line 35linha 35:Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)algm saberia me dizer o q está errado?? :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá...estou usando o exemplo do inicio do tópico, mas surgiu um erro...estou testando ele local...erro:Erro de tempo de execução do Microsoft VBScript (0x800A0046)Permissão negada/uploadSemComponente/upload_form2.asp, line 35linha 35:Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)algm saberia me dizer o q está errado?? :wacko:

está errada a permissão da pasta onde os arquivos vão ser enviados. só isso.Nesse mesmo post, eu mostrei como fazer para resolver esse problema;E tem mais coisas nas outras paginas tb.. uma hora dessas, da uma lidinha.. vaiajudar bastante.Mas, pra nao deixar na mao.. siga os passos desse meu "tutorial", para resolver esse problema de permissãohttp://www.foo.com.br/viewtopic.php?t=110Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá achei um código sobre como criar pasta:

 

<%dim fs,fset fs=Server.CreateObject("Scripting.FileSystemObject")set f=fs.CreateFolder("d:\websites\aspecto\wferreira.com\wwwroot\evento")set f=nothingset fs=nothing%>Criou
Gostaria de saber como fazer para que seja criada a pasta com o nome que o usuário digitou e as imagens "uploadeadas" (nossa) sejam salvas na pasta criada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá achei um código sobre como criar pasta:

 

<%dim fs,fset fs=Server.CreateObject("Scripting.FileSystemObject")set f=fs.CreateFolder("d:\websites\aspecto\wferreira.com\wwwroot\evento")set f=nothingset fs=nothing%>Criou
Gostaria de saber como fazer para que seja criada a pasta com o nome que o usuário digitou e as imagens "uploadeadas" (nossa) sejam salvas na pasta criada
Testa ae

 

upload_form.asp

<table>

<form name="form1" action="upload_form2.asp" method="post" enctype="multipart/form-data">

<tr>

<td>Pasta:</td>

<td><input type="text" name="pasta" size="20"></td>

</tr>

<tr>

<td>Foto:</td>

<td><input type="file" name="foto" size="14"></td>

</tr>

<tr>

<td colspan="2">

<input type="submit" name="submit" value="Enviar">

</td>

</tr>

</form>

</table>

upload_form2.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 ----------------------

pasta = UploadRequest.Item("pasta").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(pasta)

nome_foto = "\" & nome_foto

 

' pasta + nome dos arquivos

cfoto = pasta + nome_foto

 

' criando a pasta

set fs=Server.CreateObject("Scripting.FileSystemObject")

 

' Se a pasta não existir

if not(fs.FolderExists(pasta)) Then

set f=fs.CreateFolder(pasta)

end if

 

set f=nothing

set fs=nothing

 

' Fazendo o Upload do arquivo selecionado

if foto <> "" then

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

Set MyFile = ScriptObject.CreateTextFile(cfoto)

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

'url_conexao = Server.MapPath("banco.mdb")

'set conexao = Server.CreateObject("ADODB.Connection")

'conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

 

' cadastra os dados no banco de dados

'sql = "Insert into lojas (nome,email,foto) values ('"& nome &"', '"& email &"', '"& cfoto &"')"

'Conexao.Execute(sql)

 

' 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 5 segundos..<br>"

'response.write "<meta http-equiv='refresh' content='5; url=index.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 -----------------------------------------

%>

Note, que na pagina upload_form2, eu desativei a parte que cadastra no banco. Pois nos testes que fiz aqui, nao usei.

 

Veja se era isso que você queria

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá dark0 tá tudo funcionando blzinha... Só vou abusar mais um pouco de sua generosidade... Tem como você comentar a página de funções?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei, ta funcionando que é uma blza... é so para estudo mesmo, para quando eu for criar um sistema desse possa saber o porque de estar escrevendo o código, mas se for complicado, deixa para lá.. GOstaria de saber tb como faço para que enquanto as imagens são uploadeadas, tem como colocar uma mensagem , aguarde... Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

olápor hora não to com tempo pra reler toda aquela função gigante, relembrar pra que serve cada coisa e tudo mais, pra explicar.mas uma hora dessas eu faço isso.Eu posto aqui mais, quando surge alguma duvida, ou erro com o codigo.Mas, reler toda a funcao, não toafim, pelo menos não agora, heheAbraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu DARK0 , você ajudou e muito...

Se tiver tempo um dia desses então

explica para nós,

senão

você já ajudou muito e está com muito crédito.

Fim do SE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, sou novo nesta coisa de ASP, mas como faço para acrecentar uma função pra renomear as fotos alatóriamente. Eu tenho um modelo, mas não consegui adapta-lo neste script. Gostaria muito de adiciona-lo neste script.

function renomeiafoto(file,newfile) Set fso = CreateObject("Scripting.FileSystemObject") if fso.FileExists(server.MapPath(file)) Then fso.CopyFile server.MapPath(file), server.MapPath(newfile) fso.DeleteFile(server.MapPath(file)) end if Set fso = nothing end function

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.