Pessoa eu estou fazendo um portlet utilizando, JPA+Spring+ Struts 2
Eu preciso fazer um cadastro para documentos, esse documento pode ter uma descrição e um ou mais arquivos em anexo.
Eu consegui fazer o arquivo ser inserido no banco utilizando o FileUpload da apache, porém não estou conseguindo resgata-lo e fazer o download da aplicação para o meu computador ou client.
Segue o que estou fazendo.
Struts.xml
<action name="anexar" class="br.com.porto.col.portlet.view.AnexoAction">
<result name="success">/WEB-INF/view/gerencial/anexarDocumento.jsp</result>
<result name="edit">/WEB-INF/view/gerencial/editDocumento.jsp</result>
<result name="download" type="stream">
<param name="contentDisposition">${myContentDisposition}</param>
<param name="inputName">myInputStream</param>
<param name="contentType">image/jpeg</param>
</result>
</action>
Action
public String download() throws ServletException, IOException
{
this.setAnexo(anexoService.getAnexo(requestParam.get("id")[0]));
return "download";
}
JSP
<%@taglib prefix="s" uri="/struts-tags"%>
<table width="80%" align="center">
<tr>
<td colspan="2"><h2>Gerenciador de Anexos</h2></td>
</tr>
<tr><td><span style="coloer: red;"></span><s:actionerror /></spam></td></tr>
<tr><td><hr size="2"/></td></tr>
<tr><td> </td></tr>
<tr>
<td>
Incluir anexo para o documento <s:property value="nome"/>
<s:form name="anexarDocumento" action="anexar!doAdd" enctype="multipart/form-data" portletMode="view" method="post" theme="simple">
<input type="hidden" name="key" id="key" value="<s:property value='subCategoriaId' />" />
<input type="hidden" name="documentoId" id="documentoId" value="<s:property value='documentoId' />" />
<table>
<tr>
<td>Título:</td>
<td><s:textfield name="titulo" id="titulo" /></td>
</tr>
<tr>
<td>Arquivo:</td>
<td><s:file name="file" id="file" /></td>
</tr>
<tr>
<td><s:submit value="Anexar"/></td>
</tr>
</table>
</s:form>
</td>
</tr>
</table>
<table width="80%" align="center">
<tr>
<td><hr size="2"/></td>
</tr>
<tr>
<td><b>Lista de Anexos</b></td>
</tr>
<tr>
<td>
<s:if test="anexos.size() > 0">
<table width="100%">
<tr>
<td><b>Título</b></td>
<td><b>Ação</b></td>
</tr>
<s:iterator value="anexos">
<tr>
<td><s:property value="name" /></td>
<td>
<s:url id="removeDocumento" action="anexar!doDelete" namespace="/view">
<s:param name="id" value="id"/>
<s:param name="documentoId" value="documentoId"/>
<s:param name="key" value="subCategoriaId" />
</s:url>
<s:a href="%{removeDocumento}">Excluir</s:a>
|
<s:url id="downloadDocumento" action="anexar!download" namespace="/view">
<s:param name="id" value="id"/>
</s:url>
<s:a href="%{downloadDocumento}">Download</s:a>
</td>
</tr>
</s:iterator>
</table>
</s:if>
</td>
</tr>
<tr>
<td>
<s:url id="back" action="documento!doEdit" namespace="/viewGerencial">
<s:param name="documentoId" value="documentoId"/>
<s:param name="key" value="subCategoriaId" />
</s:url>
<s:a href="%{back}">Voltar</s:a>
</td>
</tr>
</table>
Já faz 3 dias que estou tentando desvendar este mistério e preciso muito disso, por favor me ajudem…
VLW!!!
[]'s