Ola galera, é seguinte. Criei uma telinha pra fazer o upload de uma imagem e exibi-la. Estou usando fileupload do primefaces, tomcat. Consigo fazer o upload (serviço já esta hospedado), porem quando quero pegar a imagem que ja esta no servidor, ela não aparece devido a permissão do arquivo que esta 640 (sem permissão para leitura publica, uso o FILEZZILA para FTP) deveria ser 644 que é a permissão para visualizar.
aqui o XHTML
<p:fileUpload fileUploadListener="#{dicaController.upload}"
label="" uploadLabel="" cancelLabel=""
mode="advanced" dragDropSupport="false" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>
aqui o listener que o componente chama
public void upload(FileUploadEvent event) {
try {
//ANEXAR ARQUIVO
String caminho = "/home/saudeesuporte/imagens.saudeesuporte.com.br/dicas/" + event.getFile().
byte[] conteudo = event.getFile().getContents();
FileOutputStream fos = new FileOutputStream(caminho);
fos.write(conteudo);
fos.close();
FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage(FacesMessage.SEVERITY_INFO, "Enviado com Sucesso!!", ""));
} catch (Exception e) {
e.printStackTrace();
FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage(FacesMessage.SEVERITY_INFO, "Erro ao carregar arquivo!!", ""));
}
}
ja tentei fazer assim setando o file.setReadable mas nao funciona.
public void upload_alternativo(FileUploadEvent event) {
try {
String realPath = FacesContext.getCurrentInstance()
.getExternalContext().getRealPath("/");
System.out.println(realPath);
File file = new File("" + "/home/saudeesuporte/imagens.saudeesuporte.com.br/dicas", event.getFile().getFileName());
System.out.println(file.getCanonicalPath());
file.setReadable(true, false);
file.setExecutable(false, false);
file.setWritable(false, false);
FileOutputStream out = new FileOutputStream(file);
out.write(event.getFile().getContents());
out.close();
FacesContext.getCurrentInstance().addMessage(
null, new FacesMessage("Upload completo "
+ "O arquivo " + event.getFile().getFileName() + " foi carregado!"));
//preparar para salvar no banco o caminho da imagem
dica.setImageDestacada("http://imagens.saudeesuporte.com.br/dicas/" + event.getFile().getFileName());
} catch (IOException e) {
e.printStackTrace();
FacesContext.getCurrentInstance().addMessage(
null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Erro", e.getMessage()));
}
}
Alguem tem alguma solução para os arquivos ja entrarei com a permissão liberada?