style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Creacion de la ventana de filedonwload usando primefaces

Saludos

Ayuda con la ventana de donwloadFile con Primefaces porque lo q necesito es que vaya a consultar de una tabla la direccion y el nombre del archivo a descargar, estoy haciendo la del ejemplo de la pagina pero me da error http://www.primefaces.org/showcase/ui/fileDownload.jsf.

MI CLASE
@ManagedBean
public class FileDownloadController
{
private StreamedContent file;

public FileDownloadController() {
InputStream stream = ((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()).getResourceAsStream("/tmp/process.png");
file = new DefaultStreamedContent(stream, "image/png", "downloaded_process.png");
}

public StreamedContent getFile() {
return file;
}
}

vista

>

No se si alguien ya resolvio o tiene una ventana de descarga con primefaces, he visto muchos blogs e intentado hacerla de mil formas pero no me funciona

Gracias por su ayuda ..

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

Ayuda con FileDownload

Estas bastante perdido ... esa clase (que viene en el link) no hace el "trabajo" de enviar/descargar tu archivo. Deberías checar las librerías FileUpload revisa este link http://www.javamexico.org/blogs/skuarch/compendio_de_apis_librerias_frameworks_herramientas_plug_ins_y_lenguajes

Además no sé si falte más código, son solo ejemplos de como usar los controles de PimeFaces
La vista:
fileDowload.xhtml

<p:commandLink id="downloadLink" value="Download" ajax="false">
        <p:fileDownload value="#{fileDownloadController.file}" />
</p:commandLink>

El controlador:

FileDownloadController

package org.primefaces.examples.view;

import java.io.InputStream;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;

import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;

public class FileDownloadController {

        private StreamedContent file;
       
        public FileDownloadController() {        
        InputStream stream = ((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()).getResourceAsStream("/images/optimusprime.jpg");
                file = new DefaultStreamedContent(stream, "image/jpg", "downloaded_optimus.jpg");
        }

    public StreamedContent getFile() {
        return file;
    }  
}

Solo abre una sola vez el archivo

Bueno buscando ya descarga mi archivo de una ruta especifica, pero solo lo hace la primera vez abre la ventana de descarga y los descarga, luego si intento descragarlo de nuevo me sale el siguiente error, alguien me puede ayudar porfavor a que se debe que se descrague solo una vez. Gracias
**********************
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.1 logs.
----------------
Mi codigo es el siguiente:
@ManagedBean
@SessionScoped
public class DocumentacaoController
{
private StreamedContent file;
public DocumentacaoController() throws FileNotFoundException {
InputStream stream = new FileInputStream("C:\\tmp\\copia de 12.txt");
file = new DefaultStreamedContent(stream, "application/txt", "copia de 12.txt"); }
public StreamedContent getFile() {
return file; }
public void setFile(StreamedContent file) {
this.file = file; }}
----------------

<h:form>
        <p:commandButton value="Download" ajax="false">  
            <p:fileDownload value="#{documentacaoController.file}" />  
    </p:commandButton>  

    </h:form>
<code>  

---------

Por cierto y mi vista.xhtml

Por cierto y mi vista.xhtml

<h:form>
        <p:commandButton value="Download" ajax="false">  
            <p:fileDownload value="#{documentacaoController.file}" />  
    </p:commandButton>  

    </h:form>
<code>

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">