public class FileUploadBean {
public void uploadListener(UploadEvent event) {
//获取传过来的items,3.2.2之前版本不支持getUploadItems方法
List itemList = event.getUploadItems();
for(int i=0 ; i<itemList.size() ; i++){
try {
UploadItem item = (UploadItem) itemList.get(i);
File file = new File("d:\\"+UUID.randomUUID().toString()+".jpg");
//大小不能超过4M
if(item.getFileSize() <= 4000000){
FileInputStream fis = new FileInputStream(item.getFile());
FileOutputStream out = new FileOutputStream(file);
int bytes = 0;
byte[] bteFile = new byte[1024];
while ((bytes = fis.read(bteFile)) != -1) {
out.write(bteFile, 0, bytes);
}
fis.close();
out.close();
}
} catch (Exception e) {
}
}
}
}
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<f:view>
<h:form>
<h:panelGroup>
<h:outputText value="上传头像"></h:outputText>
<rich:spacer height="3" />
<rich:fileUpload fileUploadListener="#{fileUploadBean.uploadListener}"
maxFilesQuantity="5"
autoclear="false"
addControlLabel="添加图片"
uploadControlLabel="上传"
clearAllControlLabel="清除所有"
clearControlLabel="清除"
cancelEntryControlLabel="取消"
stopControlLabel="停止"
stopEntryControlLabel="停止" noDuplicate="true"
listHeight="400"
listWidth="515"
style="height:100;"
id="upload"
acceptedTypes="jpg, gif, png, bmp">
</rich:fileUpload>
<h:outputText value="支持 JPG、JPEG、GIF、BMP 和 PNG 文件格式,最大4M。">
</h:outputText>
</h:panelGroup>
</h:form>
</f:view>
</body>
</html>
分享到:
相关推荐
其中,`<p:fileUpload>`组件是用于实现文件上传功能的一个重要元素。本篇文章将深入探讨如何使用PrimeFaces的`<p:fileUpload>`组件在JSF应用中实现实时、便捷的文件上传。 首先,让我们了解`<p:fileUpload>`的基本...
1. **多文件上传**:与标准的HTML `<input type="file">`不同,`rich:fileUpload`支持一次上传多个文件。 2. **预览**:用户可以选择在上传前预览文件,例如图片或文档。 3. **文件大小限制**:可以设置每个文件和总...
1. **FileUpload组件**:RichFaces 提供了一个名为`<rich:fileUpload>`的组件,用于在Web页面上创建文件上传功能。这个组件允许用户选择本地文件并将其上传到服务器。`<rich:fileUpload>`提供了多种配置选项,如上传...
<asp:FileUpload ID="FileUpload1" runat="server" /> ``` `runat="server"`属性使控件在服务器端可用,而`ID`属性用于在代码后面引用控件。 在用户选择文件后,我们需要在服务器端处理文件上传。这通常在Page_...
ondatabinding="FileUpload1_DataBinding"></asp:FileUpload> <asp:Button ID="Button1" runat="server" Text="分离样式" onclick="Button1_Click" /> <asp:LinkButton runat="server" ID="download" Text="下载...
此外,还包括了如<rich:tree>、<rich:panel>、<rich:tabPanel>、<rich:fileUpload>等用于构建丰富用户交互界面的组件。 手册还列举了一些常见问题及其解决方法,如处理请求错误、会话过期、自定义样式、用户角色...
<asp:Button ID="FileUpload_Button" runat="server" Text="上传图片" OnClick="FileUpload_Button_Click"/> </td> </tr> <tr> <td colspan=2> <asp:Label ID="Upload_info" runat="server" ForeColor="Red"> ``` ...
这个标签是Struts提供的一个表单元素,用于创建一个HTML的`<input type="file">`字段,让用户选择要上传的文件。 ### `<html:file>`标签详解 `<html:file>`是Struts标签库的一部分,其基本语法如下: ```jsp ...
21. FileUpload:`<asp:FileUpload>`控件让用户选择本地文件,HTML为`<input type="file">`。 22. Wizard:`<asp:Wizard>`控件用于创建分步向导,HTML呈现为`<table>`。 23. MultiView 和 View:`<asp:MultiView>`...
5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...
`<asp:Image>`用于显示上传的图像预览,而`<asp:FileUpload>`则允许用户选择文件进行上传。值得注意的是,`<asp:FileUpload>`控件的`onchange`事件调用了`ChangeImage`函数,实现实时图像格式检查。 #### 3. **...
RichFaces的组件库是其核心,包括但不限于数据表(`<rich:datascroller>`、`<rich:extendedDataTable>`)、对话框(`<rich:popupPanel>`)、时间选择器(`<rich:calendar>`)、文件上传(`<rich:fileUpload>`)等。...
5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...
9. **富组件示例**:在4.0.0.Final版本中,包括了如`<rich:calendar>`(日期选择器)、`<rich:tabPanel>`(选项卡面板)和`<rich:fileUpload>`(文件上传)等组件,这些都是构建复杂UI不可或缺的部分。 10. **...
5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...
5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...
5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...
5.2.3、第三种Scriptlet:<%=%> 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...
6. 文件上传和下载标签:如`<s:file>`用于处理文件上传,`<s:fileupload>`和`<s:filedownload>`则处理文件的上传和下载。 7. 模板标签:如`<s:include>`和`<s:decorator>`允许在页面中包含其他页面或应用装饰器模式...