flex 图片上传并以二进制保存到oracle数据库,flex 加载并显示图片 图片转化成二进制...
private var fileReference:FileReference;
加載頁面的時候,執行以下代碼:
//新建對象,添加事件監聽
fileReference = new FileReference();//不明白為什么新建對象都跟定義變量分開寫
fileReference.addEventListener(Event.SELECT, onSelect);
fileReference.addEventListener(Event.COMPLETE,onComplete);
下面是監聽到事件后,所要執行的兩個方法
//文件被選擇后調度
private function onSelect(evt:Event):void{
browseTI.text=fileReference.name;
fileReference.load();
}
//fileReference.load()運行成功后調度
private function onComplete(evt:Event):void{
this.photo.source=fileReference.data;//顯示二進制圖片,其中photo是Image控件id
}
=====================
一般要是通過加載的圖片,要保存到sql server的時候,可以直接用以下方式
pi.Photo = fileReference.data;//pi是對象,Photo是數據庫字段
=====================
如果不是通過加載,比如有些人員信息的照片是不變的,其他信息變了,那么就要將對象重新保存進數據庫。可是由于不是通過加載fileReference.data的值為null。this.photo.source的返回值又是Object的。所以這個時候,我們就需要將現有的圖片轉化成二進制,以對應數據庫的image字段類型。
以下是將圖片轉化成二進制的代碼:
var src:BitmapData = new BitmapData(this.photo.width, this.photo.height);
src.draw(this.photo);
var jpg:JPEGEncoder = new JPEGEncoder(50);
personnelInfoN.Photo = jpg.encode(src);//personnelInfoN將要保存進數據庫的對象
總結
以上是生活随笔為你收集整理的flex 图片上传并以二进制保存到oracle数据库,flex 加载并显示图片 图片转化成二进制...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星 Exynos 1380 处理器性能
- 下一篇: 三星推出扫地机器人 Bespoke Je