Guest Idelbrandes Postado Janeiro 12, 2006 Denunciar Share Postado Janeiro 12, 2006 alguém pode me ajudar nesse codigo abaixo estou tentando usar o REQUEST, para pegar o diretório para onde o UPLOAD será feito.<html><body bgcolor="#FFFFFF"> <form method="POST" enctype="multipart/form-data" action="upload.asp"> <select name="arquivos" id="arquivos" class="entrada" style="width:160"> <option value="c:\inetpub\wwwroot">/</option> <option value="c:\inetpub\wwwroot\noticias">Noticias</option> <option value="c:\inetpub\wwwroot\Mural">Mural</option> <option value="c:\inetpub\wwwroot\cadastro">Cadastro</option> </select><br> <input type="FILE" size="40" name="dirname"><br> <input type="FILE" size="40" name="dirname"><br> <input type="FILE" size="40" name="dirname"><br> <input type="FILE" size="40" name="dirname"><br> <input type="FILE" size="40" name="dirname"><br> <input type=submit value="Upload!"> </form></body></html> <%'if not request("dirname") = "" thenDim Contador, TamanhoDim ConteudoBinario, ConteudoTextoDim Delimitador, Posicao1, Posicao2Dim ArquivoNome, ArquivoConteudo, PastaDestinoDim objFSO, objArquivoPastaDestino = Server.MapPath("../../../domains/igadino.com/wwwroot/mural")'PastaDestino=Server.MapPath(""&Request("arquivos")&"")'Determina o tamanho do conteúdoTamanho = Request.TotalBytes'Obtém o conteúdo no formato binárioConteudoBinario = Request.BinaryRead(Tamanho)'Transforma o conteúdo binário em stringFor Contador = 1 To TamanhoConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))Next 'Determina o delimitador de camposDelimitador = Left(ConteudoTexto, InStr(ConteudoTexto, vbCrLf) - 1)'Percorre a String procurando os campos'identifica os arquivo e grava no discoSet objFSO = Server.CreateObject("Scripting.FileSystemObject")Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitar)do while True ArquivoNome = "" Posicao1 = InStr(Posicao1, ConteudoTexto, "filename=") if Posicao1 = 0 then exit do else' Determina o nome do arquivo Posicao1 = Posicao1 + 10 Posicao2 = InStr(Posicao1, ConteudoTexto, """") For contador = (Posicao2 - 1) to Posicao1 step -1 if Mid(ConteudoTexto, Contador, 1) <> "\" then '" ArquivoNome = Mid(ConteudoTexto, Contador, 1) & ArquivoNome else exit for end if next 'Determina o conteúdo do arquivo Posicao1 = InStr(Posicao1, ConteudoTexto, vbCrLf & vbCrLf) + 4 Posicao2 = InStr(Posicao1, ConteudoTexto, Delimitador) - 2 ArquivoConteudo = Mid(ConteudoTexto, Posicao1, (Posicao2 - Posicao1 + 1)) 'Grava o arquivo if ArquivoNome <> "" then Set objArquivo = objFSO.CreateTextFile(PastaDestino & "\" & ArquivoNome, true) objArquivo.WriteLine ArquivoConteudo objArquivo.Close' Response.write "Arquivo " & PastaDestino & "\" & ArquivoNome & " gravado com sucesso!<br>" ' Response.write " gravado com sucesso!" Set objArquivo = nothing end ifend ifLoopSet objFSO = nothingresponse.Write "Upload realizado com sucesso<br>"'else'response.Write "Não foi Possivel criar o ditetorio"'end if%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 13, 2006 Denunciar Share Postado Janeiro 13, 2006 não entendi amigovocê quer permitir para o usuario selecionar uma parte só do caminho né?E depois, você quer concatenar o que o cara selecionou com o caminho completo do servidoré isso?Só lembre-se, que quando você define o formulario para upload.. colocando enctype="multipart/form-data"você não poderá mais resgatar valores usando request tradicional.Eu fiz um bom tutorial, sobre upload sem componentes, e lá tem exatamente como deve ser feito!Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Idelbrandes
alguém pode me ajudar nesse codigo abaixo estou tentando usar o REQUEST, para pegar o diretório para onde o UPLOAD será feito.
<html>
<body bgcolor="#FFFFFF">
<form method="POST" enctype="multipart/form-data" action="upload.asp">
<select name="arquivos" id="arquivos" class="entrada" style="width:160">
<option value="c:\inetpub\wwwroot">/</option>
<option value="c:\inetpub\wwwroot\noticias">Noticias</option>
<option value="c:\inetpub\wwwroot\Mural">Mural</option>
<option value="c:\inetpub\wwwroot\cadastro">Cadastro</option>
</select><br>
<input type="FILE" size="40" name="dirname"><br>
<input type="FILE" size="40" name="dirname"><br>
<input type="FILE" size="40" name="dirname"><br>
<input type="FILE" size="40" name="dirname"><br>
<input type="FILE" size="40" name="dirname"><br>
<input type=submit value="Upload!">
</form>
</body>
</html>
<%
'if not request("dirname") = "" then
Dim Contador, Tamanho
Dim ConteudoBinario, ConteudoTexto
Dim Delimitador, Posicao1, Posicao2
Dim ArquivoNome, ArquivoConteudo, PastaDestino
Dim objFSO, objArquivo
PastaDestino = Server.MapPath("../../../domains/igadino.com/wwwroot/mural")
'PastaDestino=Server.MapPath(""&Request("arquivos")&"")
'Determina o tamanho do conteúdo
Tamanho = Request.TotalBytes
'Obtém o conteúdo no formato binário
ConteudoBinario = Request.BinaryRead(Tamanho)
'Transforma o conteúdo binário em string
For Contador = 1 To Tamanho
ConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))
Next
'Determina o delimitador de campos
Delimitador = Left(ConteudoTexto, InStr(ConteudoTexto, vbCrLf) - 1)
'Percorre a String procurando os campos
'identifica os arquivo e grava no disco
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitar)
do while True
ArquivoNome = ""
Posicao1 = InStr(Posicao1, ConteudoTexto, "filename=")
if Posicao1 = 0 then
exit do
else
' Determina o nome do arquivo
Posicao1 = Posicao1 + 10
Posicao2 = InStr(Posicao1, ConteudoTexto, """")
For contador = (Posicao2 - 1) to Posicao1 step -1
if Mid(ConteudoTexto, Contador, 1) <> "\" then '"
ArquivoNome = Mid(ConteudoTexto, Contador, 1) & ArquivoNome
else
exit for
end if
next
'Determina o conteúdo do arquivo
Posicao1 = InStr(Posicao1, ConteudoTexto, vbCrLf & vbCrLf) + 4
Posicao2 = InStr(Posicao1, ConteudoTexto, Delimitador) - 2
ArquivoConteudo = Mid(ConteudoTexto, Posicao1, (Posicao2 - Posicao1 + 1))
'Grava o arquivo
if ArquivoNome <> "" then
Set objArquivo = objFSO.CreateTextFile(PastaDestino & "\" & ArquivoNome, true)
objArquivo.WriteLine ArquivoConteudo
objArquivo.Close
' Response.write "Arquivo " & PastaDestino & "\" & ArquivoNome & " gravado com sucesso!<br>"
' Response.write " gravado com sucesso!"
Set objArquivo = nothing
end if
end if
Loop
Set objFSO = nothing
response.Write "Upload realizado com sucesso<br>"
'else
'response.Write "Não foi Possivel criar o ditetorio"
'end if
%>
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.