Ir para conteúdo
Fórum Script Brasil
  • 0

ASP + input file


Bryant

Pergunta

Galera, seguinte, tenho uma página de upload em asp onde num input file você busca o arquivo para enviar...

Depois disso ele envia para um outro asp pelo action.. mas a pergunta é... quero pegar um valor pelo Request, só consigo pelo método post, mas o input file só funciona com get...

Como quero enviar para 3 pastas diferentes dependendo do que foi selecionado, preciso pegar este valor pelo Request...

Alguém me dá uma idéia?

<input type="file" name="cmdEnviar" value="Enviar" class="input" style="WIDTH: 350px">

Selecione a pasta de destino:
<input type="radio" name="opcaoPasta" OnClick="validaRadio(1)">Pasta 1</input>
<input type="radio" name="opcaoPasta" OnClick="validaRadio(2)">Pasta 2</input>
<input type="radio" name="opcaoPasta" OnClick="validaRadio(3)">Pasta 3</input>
Esta é a página que ele dá o action:
<%
    
    Dim Contador, Tamanho
    Dim ConteudoBinario, ConteudoTexto
    Dim Delimitador, Posicao1, Posicao2
    Dim ArquivoNome, ArquivoConteudo, PastaDestino
    Dim objFSO, objArquivo
    
    'set form = Server.CreateObject("MyRequest.Form") 
    'response.write form("nomePasta")
    
    if Request("nomePasta")="1" then
        PastaDestino = Server.MapPath("/projetos/Upload/Arquivos1")
    elseif Request("nomePasta")="2" then
        PastaDestino = Server.MapPath("/projetos/Upload/Arquivos2")
    else
        PastaDestino = Server.MapPath("/projetos/Upload/Arquivos3")
    end if

    '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, vb script:window.history.go(-1);" class="botaoamarelop" value="Voltar">
                        <br>&nbsp;
                        </center>
                    <td width="14">&nbsp;</td>
                </tr>
            </table>
Aqui é onde eu tento pegar o valor pelo Request... mas ele não consegue pegar... alguém tem idéia de como posso fazer?
if Request("nomePasta")="1" then
        PastaDestino = Server.MapPath("/projetos/Upload/Arquivos1")
    elseif Request("nomePasta")="2" then
        PastaDestino = Server.MapPath("/projetos/Upload/Arquivos2")
    else
        PastaDestino = Server.MapPath("/projetos/Upload/Arquivos3")
    end if

OBS: esqueci de avisar... sim, estão dentro de um form ^^

* A função validaRadio() coloca o valor 1,2 ou 3 no input hidden nomePasta

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Ninguém sabe galera? ://
Up's não são permitidos de acordo com a regra 3.8 (Ver Regras)
3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Portanto, o post foi excluído !

Nunca ouvi falar de que o input file não funciona com o método post

Tem como postar o código completo do formulário ?

De qualquer forma, se for usar o método GET, você deve utilizar o request.querystring ao invés de request.form

Mas nesse caso creio que também não irá funcionar

Link para o comentário
Compartilhar em outros sites

  • 0

o form deve usar:

enctype="multipart/form-data"
e pra pegar os dados
campo = UploadRequest.Item("campo").Item("Value")
antes de você pergunta veja
Set UploadRequest = CreateObject("Scripting.Dictionary")

e se não funcionar da uma olhadinha no google e pega um exemplo de upload sem componentes...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...