如何将文件从flex上传到sqlite? [英] how to upload files from flex to sqlite ?
本文介绍了如何将文件从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屋!
查看全文