频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Java I/O实现OAF文件上传与下载
2011-09-03 11:16:24      个评论      
收藏   我要投稿

文件上传
   首先建立用于存放附件的临时视图对象(View Object),包含Blob类型的视图属性(View Attribute),建立页面包含messageFileUpload类型的Item,并创建页面的控制器。
   在控制器的processFormRequest中编写以下代码:
   try
   {
   OAViewObject vo = (OAViewObject)am.findViewObject("FileVO1");
   Row row = vo.getCurrentRow();
  
   String filePath = "/u01/demo10/demo10comn/temp/";
  
   BlobDomain blob = (BlobDomain)row.getAttribute("FileData");
   File f = new File(filePath + (String)row.getAttribute("FileName"));
   InputStream is = blob.getBinaryStream();
   FileOutputStream fos = new FileOutputStream(f);
  
   int size=blob.getBufferSize();
   byte[] buffer=new byte[size];
   int len;
  
   while((len=is.read(buffer)) != -1)
   {
   fos.write(buffer,0,len);
   }
   is.close();
   fos.flush();
   fos.close();
   }
   catch(IOException ex)
   {
   ex.printStackTrace();
   System.out.println(ex.getMessage());
   }
  
   文件下载
   这里要实现的功能是当单击附件链接时,能自动打开附件保存对话框,代码如下:
   try
   {
   OAViewObject vo = (OAViewObject)am.findViewObject("FileVO1");
   Row row = vo.getCurrentRow();
  
   BlobDomain blob = (BlobDomain)row.getAttribute("FileData");
   HttpServletResponse response = (HttpServletResponse)pageContext.getRenderingContext().getServletResponse();
   response.addHeader("Content-Disposition", "attachment;filename="+ (String)row.getAttribute("FileName"));
   response.setContentType("application/x-msdownload");
  
   InputStream is = blob.getBinaryStream();
   int size=blob.getBufferSize();
   byte[] buffer=new byte[size];
   int len;
  
   while((len=is.read(buffer)) != -1)
   {
   response.getOutputStream().write(buffer,0,len);
   }
   is.close();
   response.getOutputStream().flush();
   response.getOutputStream().close();
   }
   catch(IOException ex)
   {
   ex.printStackTrace();
   System.out.println(ex.getMessage());
   }

 

作者“红豆加奶”

点击复制链接 与好友分享!回本站首页
相关TAG标签 文件
上一篇:快速上手JDBC
下一篇:Spring定时器时间配置
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站