Galera gostaria de uma ajuda!
Eu tenho que realizar um upload de um arquivo e fazer a leitura desse arquivo porém na minha Action eu não consigo pegar o Path inteiro do arquivo utilizando o FormFile, ele apenas me trás o nome do arquivo.
Acabei de implementar uma tela aqui no sistema desta forma,também tomei muita pancada,mas é bem simples.
1passo:nojavabean:privateFormFileoArquivo;//esse metodo salva no servidor a imagem que eu upei,mas irá esclarecer tua dúvida.publicActionForwardsalvarPasta(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setHeader("Cache-Control","no-cache");response.setHeader("Pragma","no-cache");response.setDateHeader("Expires",-1);// Proxy responsável por gerenciar o controle de acesso ao sistema.ActionForwardacesso=ControleAcesso.getControleContexto(request,response,mapping).acesso("","","");if(acesso!=null)returnacesso;ImagemMapaFormmeuForm=(ImagemMapaForm)form;//form onde vc criou private FormFile oArquivoImagemMapaFormfrm=(ImagemMapaForm)form;// Process the FormFileFormFilemeuArquivo=myForm.getTheFile();//pega o arquivo// String contentType = meuForm .getContentType();StringfileName=meuArquivo.getFileName();//pega o nome do arquivo// int fileSize = meuArquivo.getFileSize();byte[]fileData=meuArquivo.getFileData();//Get the servers upload directory real path nameStringfilePath=getServlet().getServletContext().getRealPath("/img");/* Save file on the server */if(!fileName.equals("")){System.out.println("Server path:"+filePath);//Create fileFilefileToCreate=newFile(filePath,fileName);//If file does not exists create file if(!fileToCreate.exists()){FileOutputStreamfileOutStream=newFileOutputStream(fileToCreate);fileOutStream.write(myFile.getFileData());fileOutStream.flush();fileOutStream.close();}Najsp:<html:formaction="/imagemMapa.mf?do=insert"method="post"enctype="multipart/form-data"onsubmit="validaCampos();"><html:hiddenproperty="do"styleClass="none"value="salvarPasta"styleId="do"/><divid="general"><fieldset><legend>ImagemMapa</legend><div><label>Descrição:</label><html:textproperty="descricao"maxlength="50"styleClass="inputMedium"></html:text></div><div><label>Arquivo:</label><html:fileproperty="theFile"styleClass="inputMedium"/><tableclass="noBorder"> <tr class="noBorder"> <td class="noBorder"> <button type="button" onclick="select()">Pesquisar</button> <button type="button" onclick="validaCampos();" class="botaoLado">Upload</button> </td> <td class="noBorder"></td> </tr> </table> <!-- <html:submit >Upload</html:submit>--></div> </fieldset> <div id="conteudo"></div> </div></html:form>
Qualquer dúvida olhe isto,foi por ele que implementei o meu