`
windywindy
  • 浏览: 170384 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

rich:fileUpload上传文件

    博客分类:
  • JSF
阅读更多
编写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的使用

    在本文中,我们将深入探讨`rich:fileUpload`和`a4j:mediaOutput`这两个组件在实际开发中的使用,特别是在处理文件上传和媒体输出时的关键知识点。它们都是RichFaces库的一部分,这是一个强大的JavaServer Faces (JSF...

    JSF+rich 实现 fileUpload

    1. **FileUpload组件**:RichFaces 提供了一个名为`&lt;rich:fileUpload&gt;`的组件,用于在Web页面上创建文件上传功能。这个组件允许用户选择本地文件并将其上传到服务器。`&lt;rich:fileUpload&gt;`提供了多种配置选项,如上传...

    richfaces实现ajax带进度条的上传

    RichFaces提供了一个名为`&lt;rich:fileUpload&gt;`的组件,它支持多文件选择和分块上传,同时还能显示上传进度。 以下是实现这一功能的关键步骤: 1. **引入依赖**:在你的项目中,你需要添加RichFaces库的JAR包。根据...

    richfaces-components-ui-4.0.0.Final-sources

    9. **富组件示例**:在4.0.0.Final版本中,包括了如`&lt;rich:calendar&gt;`(日期选择器)、`&lt;rich:tabPanel&gt;`(选项卡面板)和`&lt;rich:fileUpload&gt;`(文件上传)等组件,这些都是构建复杂UI不可或缺的部分。 10. **...

    jsf 里面richfaces 开发包

    RichFaces的组件库是其核心,包括但不限于数据表(`&lt;rich:datascroller&gt;`、`&lt;rich:extendedDataTable&gt;`)、对话框(`&lt;rich:popupPanel&gt;`)、时间选择器(`&lt;rich:calendar&gt;`)、文件上传(`&lt;rich:fileUpload&gt;`)等。...

    flash与jsp结合上传

    在IT领域,Flash和JSP(JavaServer Pages)的结合使用常常被用来实现富互联网应用程序(RIA,Rich Internet Applications)中的文件上传功能。Flash作为客户端技术,提供了友好的用户界面和跨平台的多媒体支持,而...

    RichFaces 4 Developer Guide

    - **&lt;rich:fileUpload&gt;**:文件上传组件。 - **&lt;rich:inplaceInput&gt;**:用于就地编辑。 - **&lt;rich:inputNumberSlider&gt;**:数字滑块输入。 - **&lt;rich:inputNumberSpinner&gt;**:数字增减输入。 ##### 3. 丰富的选择器 ...

    Asp.net Flex 文件批量上传

    在Asp.net开发中,文件批量上传是一项常见的需求,尤其在大数据时代,用户可能需要一次上传多个文件。Flex作为一款强大的富互联网应用开发框架,能够提供丰富的用户界面体验,与Asp.net结合可以构建高性能、交互性强...

    silverlight简单的文件上传和下载

    &lt;sdk:Label Content="选择文件:" /&gt; &lt;Input:FileUpload x:Name="fileUploader" GotFocus="FileUploader_GotFocus" /&gt; ``` #### 2. 创建WCF服务 接着,创建一个WCF服务来处理文件上传请求。定义一个服务接口,如`...

    基于Flex的多文件上传

    7. **FileUpload.mxml**:这可能是一个Flex应用程序的主文件,包含文件上传功能的代码。MXML是一种声明式语言,用于构建Flex用户界面和定义组件之间的数据绑定。 8. **nmtlogo.swf**:可能是一个自定义的加载图标...

    flex 文件上传

    Flex作为一个强大的RIA(Rich Internet Applications)框架,为开发者提供了多种方式来实现文件上传功能。本文将详细介绍如何使用Flex进行文件上传,并通过一个具体的示例来演示其实现过程。 #### 二、核心组件:`...

    基于Silverlight的文件管理示例程序

    2. "FileUpload"可能是一个模块,专门处理文件上传功能,可能包括客户端的上传组件和与服务器的交互逻辑。 3. "SLFileUpload"可能是一个特定于Silverlight的文件上传组件,它可能封装了Silverlight与服务器之间的...

    各种文件上传(ajax,jquery,wcf,sl)

    文件上传是Web应用中常见的功能,它允许用户将本地文件传输到服务器。在这个主题中,我们探讨了多种实现文件上传的技术,包括AJAX、jQuery、WCF(Windows Communication Foundation)和Silverlight(SL)。以下是对...

    Flex+Java多文件上传

    为了便于开发者快速实现这一功能,网上有许多开源工具和组件可供参考,如Apache Commons FileUpload库可以帮助处理Java的文件上传,而在Flex方面,可能有现成的组件库如flex-file-uploader等,它们已经封装好了文件...

    ASP.NET MVC引入JQUERY JQRTE控件

    同时,为了处理文件上传,你需要创建一个辅助类`ViewDataUploadFilesResult`,用于存储服务器端上载文件的相关信息,如文件路径、错误消息等。 2. 实现文件上传服务器端代码:在ASP.NET MVC中,你可以定义一个控制...

    使用WCF RIA服务的LightSwitch HTML图片管理器

    例如,使用ASP.NET的FileUpload控件实现文件选择和上传,利用jQuery UI实现进度条效果,以及使用AJAX进行异步通信,提高应用响应速度。 **总结** 通过结合Visual Studio LightSwitch HTML客户端和WCF RIA服务,我们...

Global site tag (gtag.js) - Google Analytics