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 ..
- chiqui's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
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:fileDownload value="#{fileDownloadController.file}" />
</p:commandLink>
El controlador:
FileDownloadController
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; }}
----------------
<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
<p:commandButton value="Download" ajax="false">
<p:fileDownload value="#{documentacaoController.file}" />
</p:commandButton>
</h:form>
<code>