注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

白小博

Morning的脚印,一步,一步……

 
 
 

日志

 
 

L-20070306  

2007-03-06 20:13:00|  分类: L-实习日志 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

2007-3-6

阅读资料,学习MyFaces的文件上传下载功能。

上传:

MyFaces中自带了一个组件<t:inputFileUpload>,负责完成文件上传功能。它有个重要的属性:value连接后台Bean里的文件属性,是一个UploadedFile类的实例。通过这个属性就可以把上传的文件以数据的形式保存到服务器的内存中,以便以后读取使用。

文件上传网页代码:

<h:form id=”form_fileUpload” enctype=”multipart/form-data”>

    <h:outputText value=”Choose File” />

    <t:inputFileUpload id=”fileupload”

       value=”#{fileUploadMgrBean.upFile}”

        storage=”file” styleClass=””

       required=”true” maxlength=”200000” />

    <h:commandButton value=”OK” action=”#{fileUploadMgrBean.upload}”>

       <h:inputHidden id=”DeviceType” value=”3000MX” />

       <h:inputHidden id=”DeviceIP”

            value=”#{deviceInfoMgrBean.infoByName.IP}” />

    </h:commandButton>

</h:form>

文件上传Backing Bean代码:

    private UploadedFile _upFile;

    public UploadedFile getUpFile()

    {

       return _upFile;

    }

    public void setUpFile(UploadedFile upFile)

    {

       _upFile = upFile;

    }

 

下载:

文件下载相对比较简单,网页部分用<h:commandButton>和<h:commandLink>都可以,只要其actionListener所对应的方法依照下面的代码写就行。

文件下载Backing Bean代码:

HttpServletResponse response = (HttpServletResponse) FacesContext

    .getCurrentInstance().getExternalContext().getResponse();

response.setHeader("Content-disposition", "attachment; filename="

    + file.getName());

 

FileInputStream fis=new FileInputStream(file);

BufferedInputStream bis=new BufferedInputStream(fis);

ByteArrayOutputStream baos=new ByteArrayOutputStream();

BufferedOutputStream bos=new BufferedOutputStream(baos);

          

int i;

while((i=bis.read())!=-1) {

    bos.write(i);

}

bos.flush();

bis.close();

 

response.setContentLength(baos.size());

ServletOutputStream sos = response.getOutputStream();

baos.writeTo(sos);

baos.close();

sos.flush();

 

  评论这张
 
阅读(82)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017