flex 的文件上传也可以通过 FileReference来实现
要比文件上传麻烦一些。
例子如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
<![CDATA[
private var file:FileReference=new FileReference();
private function onClick():void{
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(Event.SELECT,onSelect);
file.browse();
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}
private function onSelect(event:Event):void{
var request:URLRequest = new URLRequest("http://localhost/flex/upload.php")
file.upload(request);
}
]]>
</mx:Script>
<mx:Button x="162" y="94" label="Upload file" click="onClick()"/>
</mx:Application>
注意的地方
FileReference是异步的要放在外面
还有那个upload。php文件
文件内容如下
<?php
echo "/nReceiving upload.../n";
echo "temporary file name = " . $_FILES['Filedata']['tmp_name']."/n";
echo "file name = " . $_FILES['Filedata']['name']."/n";
echo "file size = " . $_FILES['Filedata']['size']."/n";
echo "attempting to move file.../n";
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./".$_FILES['Filedata']['name']);
echo "file moved/n";
?>
要比文件上传麻烦一些。
例子如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
<![CDATA[
private var file:FileReference=new FileReference();
private function onClick():void{
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(Event.SELECT,onSelect);
file.browse();
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}
private function onSelect(event:Event):void{
var request:URLRequest = new URLRequest("http://localhost/flex/upload.php")
file.upload(request);
}
]]>
</mx:Script>
<mx:Button x="162" y="94" label="Upload file" click="onClick()"/>
</mx:Application>
注意的地方
FileReference是异步的要放在外面
还有那个upload。php文件
文件内容如下
<?php
echo "/nReceiving upload.../n";
echo "temporary file name = " . $_FILES['Filedata']['tmp_name']."/n";
echo "file name = " . $_FILES['Filedata']['name']."/n";
echo "file size = " . $_FILES['Filedata']['size']."/n";
echo "attempting to move file.../n";
move_uploaded_file($_FILES['Filedata']['tmp_name'], "./".$_FILES['Filedata']['name']);
echo "file moved/n";
?>