package br.com.centralit.citcorpore.ajaxForms; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLElement; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.util.CITCorporeUtil; import br.com.centralit.citcorpore.util.Enumerados; import br.com.centralit.citcorpore.util.ParametroUtil; import br.com.centralit.citcorpore.util.Upload; import br.com.centralit.citcorpore.util.Util; import br.com.centralit.citcorpore.util.WebUtil; import br.com.centralit.citquestionario.bean.ArquivoMultimidiaDTO; import br.com.citframework.excecao.LogicException; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilI18N; public class UploadArquivoMultimidia extends AjaxFormAction { @SuppressWarnings("rawtypes") public Class getBeanClass() { return ArquivoMultimidiaDTO.class; } @SuppressWarnings({ "rawtypes", "unchecked" }) public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { UsuarioDTO user = WebUtil.getUsuario(request); if (user == null){ document.alert("O usu�rio n�o est� logado! Favor logar no sistema!"); return; } Upload upload = new Upload(); HashMap hshRetorno[] = upload.doUploadAll(request); Collection fileItems = hshRetorno[1].values(); HashMap formItems = hshRetorno[0]; String obs = (String) formItems.get("OBSERVACAO"); String idQuestaoQuestStr = (String) formItems.get("IDQUESTAOQUEST"); Integer idQuestaoQuest = new Integer(Integer.parseInt(idQuestaoQuestStr)); String fileName= ""; FileItem fi; if (!fileItems.isEmpty()){ Iterator it = fileItems.iterator(); File arquivo; while(it.hasNext()){ fi = (FileItem)it.next(); File fileDir = new File(CITCorporeUtil.CAMINHO_REAL_APP + "/tempUpload"); if (!fileDir.exists()){ fileDir.mkdirs(); } fileDir = new File(CITCorporeUtil.CAMINHO_REAL_APP + "/tempUpload/" + user.getIdEmpresa()); if (!fileDir.exists()){ fileDir.mkdirs(); } fileDir = new File(CITCorporeUtil.CAMINHO_REAL_APP + "/tempUpload/" + user.getIdEmpresa() + "/" + user.getIdUsuario()); if (!fileDir.exists()){ fileDir.mkdirs(); } fileName = "ANEXO_" + br.com.citframework.util.Util.geraSenhaAleatoria(6) + "_" + Util.getNameFile(fi.getName()); arquivo = new File(CITCorporeUtil.CAMINHO_REAL_APP + "/tempUpload/" + user.getIdEmpresa() + "/" + user.getIdUsuario() + "/" + fileName); String url = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempUpload/" + user.getIdEmpresa() + "/" + user.getIdUsuario() + "/" + fileName; try{ fi.write(arquivo); ArquivoMultimidiaDTO arquivoMultimidia = new ArquivoMultimidiaDTO(); arquivoMultimidia.setCaminhoArquivo(CITCorporeUtil.CAMINHO_REAL_APP + "/tempUpload/" + user.getIdEmpresa() + "/" + user.getIdUsuario() + "/" + fileName); arquivoMultimidia.setNomeArquivo(Util.getNameFile(fi.getName())); arquivoMultimidia.setObservacao(obs); arquivoMultimidia.setUrlArquivo(url); arquivoMultimidia.setIdQuestaoQuest(idQuestaoQuest); List lst = (List) request.getSession(true).getAttribute("TEMP_LISTA_ARQ_MULTIMIDIA"); if (lst == null){ lst = new ArrayList(); } lst.add(arquivoMultimidia); request.getSession(true).setAttribute("TEMP_LISTA_ARQ_MULTIMIDIA", lst); } catch (Exception e){ e.printStackTrace(); throw new Exception(e); } } } } public void listarUploads(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { ArquivoMultimidiaDTO arquivoMultiDto = (ArquivoMultimidiaDTO) document.getBean(); List lst = (List) request.getSession(true).getAttribute("TEMP_LISTA_ARQ_MULTIMIDIA"); if (lst == null){ lst = new ArrayList(); } String strTable = "<table width=\"100%\">"; strTable += "<tr>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; strTable += "</tr>"; int iContador = 0; boolean booleanBorda = false; String caminhoAnexo = ""; for(Iterator it = lst.iterator(); it.hasNext();){ ArquivoMultimidiaDTO arquivoMultimidia = (ArquivoMultimidiaDTO)it.next(); if (Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("JPG") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("gif") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("png") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("BMP")){ caminhoAnexo = arquivoMultimidia.getUrlArquivo(); }else{ booleanBorda = true; if (Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("MPG") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("MPEG") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("WAV") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("MP3") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("FLV") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("WMV") || Util.getFileExtension(arquivoMultimidia.getNomeArquivo()).equalsIgnoreCase("AVI")){ caminhoAnexo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/produtos/citsaude/imagens/multimidia.jpg"; }else{ caminhoAnexo = Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/produtos/citsaude/imagens/arquivo.jpg"; } } if (iContador == 0){ strTable += "<tr>"; } String borda = ""; if (booleanBorda){ borda = " border=\"1\" "; } String strObs = "N�o h�"; if (arquivoMultimidia.getObservacao() != null){ strObs = arquivoMultimidia.getObservacao(); } strTable += "<td>"; strTable += "<a href=\"" + arquivoMultimidia.getUrlArquivo() + "\" target=_blank><img style=\"cursor:hand\" src=\"" + caminhoAnexo + "\" width=\"150px\" height=\"150px\" " + borda + " title=\"header=[Observa��es:] body=[" + strObs + "]\"/></a> <br> "; strTable += "</td>"; strTable += "<td>"; strTable += " "; strTable += "</td>"; iContador++; if (iContador >= 3){ iContador = 0; } } strTable += "</table>"; HTMLElement div = document.getElementById(arquivoMultiDto.getIdDIV()); div.setInnerHTML(strTable); } public void verificarParametroAnexos(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception{ String DISKFILEUPLOAD_REPOSITORYPATH = ParametroUtil.getValorParametroCitSmartHashMap(Enumerados.ParametroSistema.DISKFILEUPLOAD_REPOSITORYPATH, ""); if(DISKFILEUPLOAD_REPOSITORYPATH == null){ DISKFILEUPLOAD_REPOSITORYPATH = ""; } if(DISKFILEUPLOAD_REPOSITORYPATH.equals("")){ throw new LogicException(UtilI18N.internacionaliza(request,"citcorpore.comum.anexosUploadSemParametro")); } File pasta = new File(DISKFILEUPLOAD_REPOSITORYPATH); if(!pasta.exists()){ throw new LogicException(UtilI18N.internacionaliza(request,"citcorpore.comum.pastaIndicadaNaoExiste")); } else{ document.executeScript("adicionarImagemLiberada();"); } } }