如何将文件从flex上传到sqlite? [英] how to upload files from flex to sqlite ?

查看:109
本文介绍了如何将文件从flex上传到sqlite?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我想将文件从flex上载到sqlite数据库,然后再次需要从数据库中检索到flex.有人能帮我怎么做吗?


i m wondering to upload file from flex to sqlite database and again need to retrieve from database to flex.can anyone help me how to do this?

推荐答案

可以找到的文章和教程:尝试搜索简单方法 [
There are several good articles and tutorials to be found: try searching the easy way[^]

I also recommend to by a book, that topic will be covered in nearly all books.


<fx:Script>
        <![CDATA[
import flash.filesystem.File;
            import flash.system.Capabilities;
            import flash.utils.ByteArray;
import mx.utils.Base64Decoder;
            import mx.utils.Base64Encoder;

public var fnamearr:Array=new Array();
            private var loadedFile:ByteArray;
            public var byte:String;
            public var bytesarr:Array=new Array();
            public var p:int;

/*browse button function*/

public function browse_file(eve:MouseEvent):void{
                file1 = File.documentsDirectory;
                file1.addEventListener(Event.SELECT, handleSelectFile);
                file1.browseForOpen("Select Picture");

            }
            public function handleSelectFile(event:Event):void
            {
                if(os=="Win" ){
                    file_name.text = event.target.nativePath;
                }
                else if(os=="Mac"|| os=="Lin"){
                    file_name.text = event.target.url;
                }
                fnamearr.push(event.target.name);
                Alert.show(event.target.name);
                var request:URLRequest = new URLRequest(file_name.text);
                var urlLoader:URLLoader = new URLLoader(request);
                urlLoader.addEventListener(Event.COMPLETE,onURLLoaderComplete);
                urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
                urlLoader.load(request);
            }

            private function onURLLoaderComplete(event:Event):void
            {
                loadedFile = event.target.data;
                var encoder:Base64Encoder=new Base64Encoder();
                encoder.encodeBytes(loadedFile);
                byte=encoder.toString();
                bytesarr.push(byte);
                //byte=encoder.encode(loadedFile);
                Alert.show('==>'+file_name.text);

            }
/*finally store bytesarr (array),fnamearr(filename array) into sqlite database*/


// save in sqlite database
public function saveLoadedFile():void
            {

                for(var j:int=0;j<bytesarr.length;j++){
                    if(bytesarr[j].length!=0 && bytesarr[j]!='' ){
                        dbStatement=new SQLStatement();
                        dbStatement.sqlConnection=exampleDB;
                        dbStatement.text="INSERT INTO cmr_patient_files (patient_id,file,filename) VALUES (:recordId,:byteArray,:recordNote)";
                        dbStatement.parameters[":recordNote"] = fnamearr[j];
                        dbStatement.parameters[":byteArray"] = bytesarr[j];
                        dbStatement.parameters[":recordId"] = spat_id;
                        dbStatement.execute();
                    }
                }}


这篇关于如何将文件从flex上传到sqlite?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆