相关疑难解决方法(0)

如何从JSF支持bean提供文件下载?

有没有办法从JSF支持bean动作方法提供文件下载?我尝试过很多东西.主要问题是我无法弄清楚如何获取OutputStream响应以便将文件内容写入.我知道如何使用a Servlet,但这不能从JSF表单调用,需要新的请求.

如何OutputStream从当前获得响应FacesContext

jsf download jsf-2 backing-beans

85
推荐指数
2
解决办法
14万
查看次数

如何在JSF中保存上传的文件

我在JSF上传文件.我正在使用Tomahawk <t:inputFileUpload>,但同样的问题适用于例如PrimeFaces <p:fileUpload>和JSF 2.2 <h:inputFile>.

我有以下支持bean代码:

private UploadedFile uploadedFile; // +getter+setter

public String save() throws IOException {
    String name = uploadedFile.getName();
    System.out.println("File name: " + name);

    String type = uploadedFile.getContentType();
    System.out.println("File type: " + type);

    long size = uploadedFile.getSize();
    System.out.println("File size: " + size);  

    InputStream stream = uploadedFile.getInputStream();
    byte[] buffer = new byte[(int) size];  
    stream.read(buffer, 0, (int) size);  
    stream.close();  
}
Run Code Online (Sandbox Code Playgroud)

我能够获取文件名,类型和大小,但我无法将此文件保存在特定路径中.我无法找出保存上传文件的正确方法.我怎样才能做到这一点?

jsf file-upload save

18
推荐指数
1
解决办法
6万
查看次数

event.getFile().getFileName()返回带有PrimeFaces 3.5的JSF2.0中完整路径的文件名

我正在使用PrimeFaces v3.5使用Firefox浏览器在我的Windows机器上传文件.event.getFile().getFileName()返回带有完整路径的文件名,这会导致进一步的问题.PrimeFaces内部正在使用Apache公共资源.我检查了javadoc但是没有帮助我了.

为了克服这个问题,我修改了程序,有点像以下方式 -

        String fileName = event.getFile().getFileName();
        fileName = fileName.substring(fileName.lastIndexOf("\\"));
Run Code Online (Sandbox Code Playgroud)

但它不稳健可靠.有什么建议吗?

windows jsf primefaces

4
推荐指数
1
解决办法
5113
查看次数

标签 统计

jsf ×3

backing-beans ×1

download ×1

file-upload ×1

jsf-2 ×1

primefaces ×1

save ×1

windows ×1