Flex + java + orcale 存取Image

12 篇文章 0 订阅
 

最近有个小东西是关于Flex +java + orcale 在页面显示Image,刚开始时一筹莫展啊。。。行了不罗嗦,进主题。

首先:确定一下设计的思路,能够获取本地image,同时存到orcale中,然后可以从数据库中读取。

1 获取本地image;

 import flash.display.BitmapData;

 private var fr:FileReference;
   private var imageTypes:FileFilter; 
   private function init(event:Event):void
   {
    fr=new FileReference();
    imageTypes=new FileFilter("Images (*.jpg, *.jpeg, *.png, *.gif)","*.jpg; *.jpeg; *.png; *.gif;");
    //增加当打开浏览文件后,用户选择好文件后的listener
    fr.addEventListener(Event.SELECT,selectHandler);
   }
   
   private function selectHandler(event:Event):void
   {
    //增加一个文件加载load完成后的listener
    fr.addEventListener(Event.COMPLETE,onLoadComplete);
    fr.load();//加载用户选中文件
    
   }
   private var pbitData:BitmapData;
   private function onLoadComplete(event:Event):void
   {
    imgPhoto.source = fr.data; 
    var num:int = selectedUserNum;
    RoUserSet.saveImg(fr.data,num);//here ,i can save this image to orcale,The RemoteObject has been used .
   }
   private function browseHandler(event:Event):void
   {
    fr.browse([imageTypes]);
   }

这里要指出的一点是:在浏览中打开的图片image 已经是 一种编码格式,具体我也不太了解这种编码是什么格式的,而且我在存到数据库的时候并不是存的图片的路径,而是存的编码,因为保存路径的话,如果图片丢失了,就会回去不到图片。这个编码相当于rgb吧。。。

2 存到数据库java端

dao 文件

public void saveImg(byte[] sigimg,int usernum);

daoImpl文件

public void saveImg(byte[] sigimg,int usernum)
 {
  userSet.setUsernum(usernum);
  userSet.setSigimg(sigimg);
  getSqlSession().update("com.cons.pmconf.deptUserMNG.model.UserSet.updateImg",userSet);
 }

 action 文件

public void saveImg(byte[] sigimg,int usernum)
 {
   this.userSetDAO.saveImg(sigimg,usernum);
 }

sql 语句

<update id="updateImg" parameterType ="com.cons.pmconf.deptUserMNG.model.UserSet" >
   update tbusers set sigimg = #{sigimg} where usernum = #{usernum}
  </update>

3 后台从数据库获取图片 返回一个Obj,在前台从这个Obj中再获取image的编码。

dao 文件

public Object getImage(int usernum)
 {
  return   userSetDAO.getImage(usernum);
 }

daoImpl文件

public Object getImage(int usernum )
 {
  userSet.setUsernum(usernum);
  Object obj = getSqlSession().selectOne("com.cons.pmconf.deptUserMNG.model.UserSet.getImage", usernum);
  return (obj == null) ? null : obj;
 } 

action 文件

public void saveImg(byte[] sigimg,int usernum)
 {
   this.userSetDAO.saveImg(sigimg,usernum);
 }

sql 语句

<select id="getImage" parameterType="com.cons.pmconf.deptUserMNG.model.UserSet"  resultType="sigimg" >
   select sigimg from tbusers where usernum = #{usernum}
  </select>

4 前台获取后台返回的Obj

 private var imageBit:ByteArray = new ByteArray();
   private function getImageRHandler(event:ResultEvent):void
   {
    var obj:Object = null;
    obj = event.result as Object;
    if(obj == null)
     this.imgPhoto.source = "com/cons/modules/deptUserMNG/images/NoSigImg.PNG";//赋予一个默认的图片,防止数据库中没有图片信息的时候出现错误。
    else
    {
     imageBit = obj.img; //img是数据库中的字段名称
     this.imgPhoto.source = imageBit;
    }
   }

  以上4个步骤就可以解决这个问题了。希望对大家有用。
### 回答1: Layui是一款基于HTML5和CSS3技术开发的前端UI框架,它提供了丰富的UI组件和独特的模块化开发方式,使得前端开发更加简单和高效。Layui可以与.NET Core MVC框架无缝集成,实现前后端分离的开发模式。通过Layui,开发者可以快速构建出美观、交互丰富的网页应用。 .NET Core是由Microsoft开发的开源跨平台框架,借助它,开发者可以在Windows、Linux和macOS等多个操作系统上构建高性能的Web应用程序。使用.NET Core MVC框架可以方便地开发和管理网站的使用逻辑,与Layui相结合,可以实现前后端分离的开发模式,提高开发效率和项目可维护性。 Oracle是一种关系型数据库管理系统,具有高性能、高可靠性和强大的功能。在.NET Core MVC项目中使用Oracle数据库可以提供可靠的数据存储和管理能力。通过Oracle提供的ADO.NET驱动程序,可以方便地与.NET Core应用程序进行集成,并进行数据的读取和写入。 综上所述,结合Layui、.NET Core MVC和Oracle可以构建出一个强大的Web应用程序。Layui提供了美观且易于使用的前端组件,.NET Core MVC框架提供了稳定且高性能的开发环境,而Oracle数据库提供了可靠的数据存储和管理能力。这样的组合可以使开发者更加便捷地开发出功能齐全且用户体验良好的Web应用程序。 ### 回答2: Layui是一款基于HTML、CSS、JavaScript的前端UI框架,它提供了一套简洁易用的界面组件,能够快速搭建美观的用户界面。对于使用Layui的.NET Core MVC项目来说,可以通过在前端页面中引入Layui的CSS和JavaScript文件来使用其提供的各种组件,比如表格、表单、弹窗等,从而实现丰富的用户交互和界面展示效果。 .NET Core是微软开发的跨平台开发框架,能够支持在Windows、Linux、Mac等操作系统上运行。它的MVC框架是一种基于模型-视图-控制器的设计模式,能够将前端页面、后端业务逻辑以及数据访问分离开来,提升代码的可维护性和扩展性。在.NET Core MVC项目中,可以很方便地通过使用C#编写控制器和模型来处理业务逻辑,并将结果通过视图呈现给用户。 Oracle是一家知名的数据库管理系统提供商,它提供了强大的关系型数据库服务。在.NET Core MVC项目中使用Oracle数据库时,可以通过使用Oracle提供的.NET数据访问技术(如ODP.NET)来实现与数据库连接和操作。借助于.NET Core MVC的数据访问技术,可以在控制器中编写代码进行数据的增删改查操作,并将结果返回给前端页面展示给用户。 综上所述,Layui、.NET Core MVC和Oracle可以很好地结合在一起,实现一个功能强大、界面美观、数据安全可靠的Web应用。通过前端的Layui框架,可以搭建出优雅的用户界面;通过.NET Core MVC框架,可以实现清晰的分层架构和灵活的业务逻辑;通过Oracle数据库,可以实现数据的持久化和高效的数据管理。这样的组合能够满足开发者和用户对于功能、性能和用户体验的要求。 ### 回答3: layui是一款基于HTML5和CSS3的前端UI框架,提供了丰富的组件和模块化的开发方式,可以快速搭建漂亮、易用的网页界面。它的特点是简洁、轻量、易学易用,适用于各种Web应用的开发。 .NET Core是微软推出的开源跨平台开发框架,它可以在Windows、Linux和Mac等多种操作系统上运行,具有高性能、可扩展性好等特点。使用.NET Core可以方便地开发各种Web应用、移动应用和云服务等。 Oracle是一家全球著名的数据库解决方案提供商,其数据库产品具有高度可靠性、安全性和可扩展性。在开发Web应用时,通过使用Oracle数据库可以实现数据的持久化和高效的数据访问操作。 综上所述,当我们使用Layui、.NET Core MVC和Oracle进行开发时,我们可以通过Layui提供的丰富的UI组件和模块化开发方式来设计网页界面,使用.NET Core MVC来开发Web应用的后端逻辑,并通过Oracle数据库实现数据的持久化和访问操作。这样的组合可以使开发过程更加高效、简便,同时满足用户对于良好界面和可靠数据存储的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值