【发布时间】:2012-12-22 02:53:27
【问题描述】:
我在 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();
}
我能够获取文件名、类型和大小,但我无法将此文件保存在特定路径。我想不出保存上传文件的正确方法。我怎样才能做到这一点?
【问题讨论】:
-
添加更多细节。发布完整代码
-
@Abin 我用代码编辑过,我得到了文件名,但是我怎么把它上传到服务器上,你知道吗?
-
你正在使用 Myfaces..对吗?
-
是的,JSF1.1。我想用特定的url存储本地文件@server
-
其实我没有错误,但是我使用带有
组件的jsp页面。在 Backbean,我得到了他们的名字、大小和类型。但是我如何将该文件存储到特定路径(用户可定义路径或服务器)。
标签: jsf file-upload save