[Resolvido]Pegar parametros de um form multipart/form-data

9 respostas
S

Boa tarde a todos, eu estou usando um form assim:

<form action="Servlet" method="post"
                        enctype="multipart/form-data">
<input type="file" name="file" size="50" /><br>
<input type="text" name="test">
<br />
<input type="submit" value="Upload File" />
</form>

Na Servlet eu tenho o request.getParameter("test"); mas ele mostra null. Como eu faço para pegar o valor que se encontra no input "test"?

9 Respostas

B

Luciano?

B

<s:submit << submete o form pela tag do struts, isso acontece pq quando vc usa enctype=“multipart/form-data” o strus intecepta o form.

Exemplo do interceptador que esta sendo chamado quando submete este form:

<!--  INTERCEPTORS -->
    <interceptors> 
        <interceptor name="preExcecuteInterceptor"  
                class="br.com.....interceptor.PreExecuteInterceptor" /> 
		<interceptor name="exception" class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"/>
		
		<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
                
         <interceptor-stack name="defaultAuthStack">
           <interceptor-ref name="i18n"/>
           <interceptor-ref name="servletConfig"/>
           <interceptor-ref name="exception"/>
           <interceptor-ref name="prepare"/>
           <interceptor-ref name="fileUpload" />
           <interceptor-ref name="preExcecuteInterceptor" />
           <interceptor-ref name="params">   
              <param name="excludeParams">dojo\..*,^struts\..*</param>  
           </interceptor-ref>  
           
         </interceptor-stack>
    </interceptors>

Estendeu??? rs rs

S

blaithe:
<s:submit << submete o form pela tag do struts, isso acontece pq quando vc usa enctype=“multipart/form-data” o strus intecepta o form.

Exemplo do interceptador que esta sendo chamado quando submete este form:

<!--  INTERCEPTORS -->
    <interceptors> 
        <interceptor name="preExcecuteInterceptor"  
                class="br.com.....interceptor.PreExecuteInterceptor" /> 
		<interceptor name="exception" class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"/>
		
		<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
                
         <interceptor-stack name="defaultAuthStack">
           <interceptor-ref name="i18n"/>
           <interceptor-ref name="servletConfig"/>
           <interceptor-ref name="exception"/>
           <interceptor-ref name="prepare"/>
           <interceptor-ref name="fileUpload" />
           <interceptor-ref name="preExcecuteInterceptor" />
           <interceptor-ref name="params">   
              <param name="excludeParams">dojo\..*,^struts\..*</param>  
           </interceptor-ref>  
           
         </interceptor-stack>
    </interceptors>

Estendeu??? rs rs

Eu não uso Struts. Você conhece alguma outra forma?

B

não está usando nenhum framework?

S

Não hehe.

B

manda então por javascript...

<script>  
url = "/servlet/Upload?campo1" + window.document.forms[0].campo1.value  
  
window.document.forms[0].action = url  
window.document.forms[0].submit();  
</script>
B

Exemplo:

<script>  
   function createURL() {  
      var _form = document.getElementById("form1");  
     _form.action += "InsertPortofolio.jsp?ra="+<%=request.getParameter("ra")%>+"&disciplina="+<%=request.getParameter("disciplina")%> + "&descricao=" + _form.descricao.value;  
     alert(_form.action);  
     _form.submit();  
   }  
</script>  
</head>  
  
<body >  
<form id="form1" action="" enctype="multipart/form-data" method="post" >  
      
    <div class="form">Descri&ccedil;&atilde;o</div>  
   <div class="form1"><input name="descricao" type="text" class="fmcampost" id="descricao" size="40"/></div><br />  
    <div class="form">Arquivo</div>  
   <div class="form1"><input type="file" name="Filename" id="confbtproc" class="fmcampost" size="40" /> <input type="submit" name="confupload" onclick="createURL()" id="confupload" value="Upload" class="btcampos"  /></div>  
   </form>
S
blaithe:
Exemplo:
<script>  
   function createURL() {  
      var _form = document.getElementById("form1");  
     _form.action += "InsertPortofolio.jsp?ra="+<%=request.getParameter("ra")%>+"&disciplina="+<%=request.getParameter("disciplina")%> + "&descricao=" + _form.descricao.value;  
     alert(_form.action);  
     _form.submit();  
   }  
</script>  
</head>  
  
<body >  
<form id="form1" action="" enctype="multipart/form-data" method="post" >  
      
    <div class="form">Descri&ccedil;&atilde;o</div>  
   <div class="form1"><input name="descricao" type="text" class="fmcampost" id="descricao" size="40"/></div><br />  
    <div class="form">Arquivo</div>  
   <div class="form1"><input type="file" name="Filename" id="confbtproc" class="fmcampost" size="40" /> <input type="submit" name="confupload" onclick="createURL()" id="confupload" value="Upload" class="btcampos"  /></div>  
   </form>

Aee, isso ai mesmo. Obrigado.

M

Sem_Nome …

Aii como ficou o seu controle ???

Criado 9 de março de 2012
Ultima resposta 11 de jul. de 2013
Respostas 9
Participantes 3