编写backingbean,FileUploadBean.java:
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) {
}
}
}
}
jsp文件:
<%@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>
特别注意:RichFaces似乎和myfaces中的上载有冲突,两者不能同时使用,主要特征是richface无法激活fileUploadListener方法。
分享到:
相关推荐
在本文中,我们将深入探讨`rich:fileUpload`和`a4j:mediaOutput`这两个组件在实际开发中的使用,特别是在处理文件上传和媒体输出时的关键知识点。它们都是RichFaces库的一部分,这是一个强大的JavaServer Faces (JSF...
1. **FileUpload组件**:RichFaces 提供了一个名为`<rich:fileUpload>`的组件,用于在Web页面上创建文件上传功能。这个组件允许用户选择本地文件并将其上传到服务器。`<rich:fileUpload>`提供了多种配置选项,如上传...
RichFaces提供了一个名为`<rich:fileUpload>`的组件,它支持多文件选择和分块上传,同时还能显示上传进度。 以下是实现这一功能的关键步骤: 1. **引入依赖**:在你的项目中,你需要添加RichFaces库的JAR包。根据...
9. **富组件示例**:在4.0.0.Final版本中,包括了如`<rich:calendar>`(日期选择器)、`<rich:tabPanel>`(选项卡面板)和`<rich:fileUpload>`(文件上传)等组件,这些都是构建复杂UI不可或缺的部分。 10. **...
RichFaces的组件库是其核心,包括但不限于数据表(`<rich:datascroller>`、`<rich:extendedDataTable>`)、对话框(`<rich:popupPanel>`)、时间选择器(`<rich:calendar>`)、文件上传(`<rich:fileUpload>`)等。...
在IT领域,Flash和JSP(JavaServer Pages)的结合使用常常被用来实现富互联网应用程序(RIA,Rich Internet Applications)中的文件上传功能。Flash作为客户端技术,提供了友好的用户界面和跨平台的多媒体支持,而...
- **<rich:fileUpload>**:文件上传组件。 - **<rich:inplaceInput>**:用于就地编辑。 - **<rich:inputNumberSlider>**:数字滑块输入。 - **<rich:inputNumberSpinner>**:数字增减输入。 ##### 3. 丰富的选择器 ...
在Asp.net开发中,文件批量上传是一项常见的需求,尤其在大数据时代,用户可能需要一次上传多个文件。Flex作为一款强大的富互联网应用开发框架,能够提供丰富的用户界面体验,与Asp.net结合可以构建高性能、交互性强...
<sdk:Label Content="选择文件:" /> <Input:FileUpload x:Name="fileUploader" GotFocus="FileUploader_GotFocus" /> ``` #### 2. 创建WCF服务 接着,创建一个WCF服务来处理文件上传请求。定义一个服务接口,如`...
7. **FileUpload.mxml**:这可能是一个Flex应用程序的主文件,包含文件上传功能的代码。MXML是一种声明式语言,用于构建Flex用户界面和定义组件之间的数据绑定。 8. **nmtlogo.swf**:可能是一个自定义的加载图标...
Flex作为一个强大的RIA(Rich Internet Applications)框架,为开发者提供了多种方式来实现文件上传功能。本文将详细介绍如何使用Flex进行文件上传,并通过一个具体的示例来演示其实现过程。 #### 二、核心组件:`...
2. "FileUpload"可能是一个模块,专门处理文件上传功能,可能包括客户端的上传组件和与服务器的交互逻辑。 3. "SLFileUpload"可能是一个特定于Silverlight的文件上传组件,它可能封装了Silverlight与服务器之间的...
文件上传是Web应用中常见的功能,它允许用户将本地文件传输到服务器。在这个主题中,我们探讨了多种实现文件上传的技术,包括AJAX、jQuery、WCF(Windows Communication Foundation)和Silverlight(SL)。以下是对...
为了便于开发者快速实现这一功能,网上有许多开源工具和组件可供参考,如Apache Commons FileUpload库可以帮助处理Java的文件上传,而在Flex方面,可能有现成的组件库如flex-file-uploader等,它们已经封装好了文件...
同时,为了处理文件上传,你需要创建一个辅助类`ViewDataUploadFilesResult`,用于存储服务器端上载文件的相关信息,如文件路径、错误消息等。 2. 实现文件上传服务器端代码:在ASP.NET MVC中,你可以定义一个控制...
例如,使用ASP.NET的FileUpload控件实现文件选择和上传,利用jQuery UI实现进度条效果,以及使用AJAX进行异步通信,提高应用响应速度。 **总结** 通过结合Visual Studio LightSwitch HTML客户端和WCF RIA服务,我们...