Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo Patricio

Como criar uma pasta no servidor?

Recommended Posts

Olá pessoal, sou novo em asp e tô com um problemimha aqui, o meu problema é o seguinte:

 

Tô fazendo um site pra um cliente q quer um album de fotos nesse site, só q ele upa mais de 200 fotos por album, o sistema de upload eu já fiz e está funcionado perfeitamente, agora eu queria q quande ele upase as fotos, criase automaticamente uma pasta com a legenda q ele digitou no form e do lado a data com hora, para num ter pastas iguais, e colocase as fotos dentro dessa pasta criada.

 

o script q eu uso para upar é esse:

<!-- #include file = "upload_funcoes.asp" --><%Response.Expires=0Response.Buffer = TRUEResponse.ClearbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Dim UploadRequestSet UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest  RequestBincontentType = UploadRequest.Item("blob").Item("ContentType") filepathname = UploadRequest.Item("blob").Item("FileName") filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) filename = Replace(filename,".","_"& rndit &".") value = UploadRequest.Item("blob").Item("Value")legenda = UploadRequest.Item("legenda").Item("Value")cblob = "C:\localhost\images\" + filename  Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")  pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14		  Set MyFile = ScriptObject.CreateTextFile("C:\localhost\images\"&filename)  For i = 1 to LenB(value) 	 MyFile.Write chr(AscB(MidB(value,i,1))) Next MyFile.Close'renomeia ao arquivoFunction rndit()	Dim RndTemp 	Randomize 	RndTemp = Rnd * 10000 	RndTemp= Int(RndTemp) 	rndit = RndTemp End Function PasswordTemp = rndit() ' Conecta-se ao Banco de Dadosurl_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 dadossql = "Insert into loja (foto, legenda) values ('"& cblob &"', '"& legenda &"')"Conexao.Execute(sql)' Mostra Mensagem de Confirmação na TelaResponse.write "Dados Cadastrados com Sucesso!"' Redireciona após 5 segundosresponse.write "<br><br>você será redirecionado em 5 segundos..<br>"response.write "<meta http-equiv='refresh' content='5; url=index.asp'/>"%>

Por favor, me ajudem, num faço a minima idéia de como se faz isso!

 

OBS: Dei uma pesquisada aqui no forum e não resolvel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui encontrar um script que cria a pasta, mas num tô conseguindo adapt-lo com o upload:

 

o script é esse:

<%Set arquivo = Server.CreateObject("Scripting.FileSystemObject")fold = Request.Form("pasta") 'Recebe do form o nome da pasta...if arquivo.FolderExists(Server.MapPath(fold)) then 'Checa se a pasta já existe...dir = Server.MapPath(fold)elsearquivo.CreateFolder(Server.MapPath(fold)) 'Cria a pasta caso ela não exista..dir = Server.MapPath(fold)end if%>

Deem uma força aê, por favor, tô presisando muito aqui...

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa ficar enchendo o saco de vocês, mais eu presiso muito disso e num tô conseguindo fazer!Caso o script acima for muito dificil, me passem algum tutorial ou alguma coisa assim!Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa ficar enchendo o saco de vocês, mais eu presiso muito disso e num tô conseguindo fazer!Caso o script acima for muito dificil, me passem algum tutorial ou alguma coisa assim!Obrigado.

Esse seu código de Upload sobe qtas fotos por vez?Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quantas você quiser, é só adapta-lo q funciona perfeito, ele envia o local da foto pro banco de dados e muda o nome do arquivo para não ter 2 iguais.Mais alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu conhecimento é pouco, mas vou tentar ajudar....

 

ao meu ver você ter que criar a pasta e fazer o up tudo na mesma pagiana ASP...

 

primeiro cria a pasta, e no up você troca a linha:

cblob = "C:\localhost\images\" + filename
por essa:

cblob = dir &  filename

 

ahhh.... acho q troca essa também:

pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14		  Set MyFile = ScriptObject.CreateTextFile("C:\localhost\images\"&filename)
por essa:

pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14		  Set MyFile = ScriptObject.CreateTextFile(cblob & filename)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que pena, não deu certo, algum pode me ajuadar, presiso muuuuito disso, é pq meu cliente é um dj, ai ele tira em torno de 200 fotos por festa, ai, se eu colocar todas as fotos de todas as festas numa mesma pasta, num vai dar certo...Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que pena, não deu certo, algum pode me ajuadar, presiso muuuuito disso, é pq meu cliente é um dj, ai ele tira em torno de 200 fotos por festa, ai, se eu colocar todas as fotos de todas as festas numa mesma pasta, num vai dar certo...Obrigado.

Mas qual é o erro ??? o que acontece ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ufa! Consegui criar a pasta e fazer o upload, só tô com mais 1 probleminha, heheheehe, num tô conseguindo colocar as imagens upadas na pasta recem criada, alguem pode me dar uma força? Isso que o smith falou num deu certo.

 

O script é esse:

<!-- #include file = "upload_funcoes.asp" --><%Response.Expires=0Response.Buffer = TRUEResponse.ClearbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Dim UploadRequestSet UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest  RequestBincontentType = UploadRequest.Item("blob").Item("ContentType") filepathname = UploadRequest.Item("blob").Item("FileName") filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) filename = Replace(filename,".","_"& rndit &".") value = UploadRequest.Item("blob").Item("Value")legenda = UploadRequest.Item("legenda").Item("Value")Set arquivo = Server.CreateObject("Scripting.FileSystemObject")if arquivo.FolderExists(Server.MapPath(legenda)) then dir = Server.MapPath(legenda)elsearquivo.CreateFolder(Server.MapPath(legenda))dir = Server.MapPath(legenda)end ifcblob = "c:\localhost\upload_pronto\pasta\" + filename  Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")  pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14		  Set MyFile = ScriptObject.CreateTextFile("c:\localhost\upload_pronto\pasta\" &filename)  For i = 1 to LenB(value) 	 MyFile.Write chr(AscB(MidB(value,i,1))) Next MyFile.CloseFunction rndit()	Dim RndTemp 	Randomize 	RndTemp = Rnd * 10000 	RndTemp= Int(RndTemp) 	rndit = RndTemp End Function PasswordTemp = rndit() Set Jpeg = Server.CreateObject("Persits.Jpeg")Jpeg.Open "c:\localhost\upload_pronto\pasta\" + filenamejpeg.Canvas.DrawPNG 10, 10, "c:\localhost\upload_pronto\logo.png"jpeg.Save "c:\localhost\upload_pronto\pasta\"+ filenameSet Jpeg = Server.CreateObject("Persits.Jpeg")Jpeg.Open "c:\localhost\upload_pronto\pasta\" + filenameL = 100 If jpeg.OriginalWidth > jpeg.OriginalHeight Then   jpeg.Width = L   jpeg.Height = jpeg.OriginalHeight * L / jpeg.OriginalWidthElse   jpeg.Height = L   jpeg.Width = jpeg.OriginalWidth * L / jpeg.OriginalHeightEnd IfJpeg.Save "c:\localhost\upload_pronto\pasta\mini_"+ filenameurl_conexao = Server.MapPath("banco.mdb")set conexao = Server.CreateObject("ADODB.Connection")conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao   sql = "Insert into loja (foto, legenda, foto_pequena) values ('"& cblob &"', '"& legenda &"', 'c:\localhost\upload_pronto\pasta\mini_"& filename &"')"Conexao.Execute(sql)Response.write "Dados Cadastrados com Sucesso!"response.write "<br><br>você será redirecionado em 5 segundos..<br>"response.write "<meta http-equiv='refresh' content='5; url=index.asp'/>"%>

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que dar permissão pra escrever na pasta criada..eu tenho um script de upload de arquivos, fiz o seguinte pra facilitar:se a pasta do arquivo não existir, o sistema cria a pasta dentro de uma pasta ja especificada, por exemplo arquivosa pasta arquivos tem as permissões necessárias, junto com todas as suas subpastas.. consequentemente todas as pastas criadas pelo sistema já terão as permissões para mover e criar arquivos.Aí é só botar pra funcionar o sistema de upload direto na pasta criada..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso eu já fiz e tá funcionando perfeitamente, só queria que as fotos carregadas, sejam enviadas para a pasta recem criada, isso que eu num tô conseguindo adaptar.Vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor galera, tô com serios problemas se eu num conseguir fazer isso, é muito urgente, e num tenho ideia de como fazer! Quem quiser me ajudar num presisa ler o topico inteiro, só apartir do post 13.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Graças a Deus e a grande ajuda do Guilherme Serrano, consegui, mas pra quem tiver com essa duvida tb, o script funcionando perfeitamente é esse:

 

<!-- #include file = "upload_funcoes.asp" --><%Response.Expires=0Response.Buffer = TRUEResponse.ClearbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Dim UploadRequestSet UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest  RequestBincontentType = UploadRequest.Item("blob").Item("ContentType") filepathname = UploadRequest.Item("blob").Item("FileName") filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) filename = Replace(filename,".","_"& rndit &".") value = UploadRequest.Item("blob").Item("Value")legenda = UploadRequest.Item("legenda").Item("Value")Set arquivo = Server.CreateObject("Scripting.FileSystemObject")if arquivo.FolderExists(Server.MapPath(legenda)) then dir = Server.MapPath(legenda)elsearquivo.CreateFolder(Server.MapPath(legenda))dir = Server.MapPath(legenda)end ifsalva = server.mappath(legenda & "/" & filename & "")minisalva = server.mappath(legenda & "/mini_" & filename & "")cblob = "c:\localhost\upload_pronto\pasta\" + filename  Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")  pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14		  Set MyFile = ScriptObject.CreateTextFile("c:\localhost\upload_pronto\pasta\" &filename)  For i = 1 to LenB(value) 	 MyFile.Write chr(AscB(MidB(value,i,1))) Next MyFile.CloseFunction rndit()	Dim RndTemp 	Randomize 	RndTemp = Rnd * 10000 	RndTemp= Int(RndTemp) 	rndit = RndTemp End Function PasswordTemp = rndit() pastaabre = Server.MapPath("pasta")Set Jpeg = Server.CreateObject("Persits.Jpeg")Jpeg.Open pastaabre & "/" & filenamejpeg.Canvas.DrawPNG 10, 10, "c:\localhost\upload_pronto\logo.png"jpeg.Save pastaabre & "/" & filenameSet Jpeg = Server.CreateObject("Persits.Jpeg")Jpeg.Open pastaabre & "/" & filenameL = 100 If jpeg.OriginalWidth > jpeg.OriginalHeight Then   jpeg.Width = L   jpeg.Height = jpeg.OriginalHeight * L / jpeg.OriginalWidthElse   jpeg.Height = L   jpeg.Width = jpeg.OriginalWidth * L / jpeg.OriginalHeightEnd IfJpeg.Save pastaabre & "/mini_" & filename url_conexao = Server.MapPath("banco.mdb")set conexao = Server.CreateObject("ADODB.Connection")conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao   sql = "Insert into loja (foto, legenda, foto_pequena) values ('c:\localhost\upload_pronto\"& legenda & "\" & filename &"', '"& legenda &"', 'c:\localhost\upload_pronto\"& legenda & "\mini_"& filename &"')"Conexao.Execute(sql)ScriptObject.MoveFile pastaabre & "/" & filename, salvaScriptObject.MoveFile pastaabre & "/mini_" & filename, minisalvaResponse.write "Dados Cadastrados com Sucesso!"response.write "<br><br>você será redirecionado em 5 segundos...<br>"response.write "<meta http-equiv='refresh' content='5; url=index.asp'/>"%>

Muito obrigado Guilherme!!

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.