本例实现点击按钮弹出上传提示框, 调用php文件, 将图片上传至指定位置
main.mxml
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
import mx.managers.PopUpManager;
protected function button1_clickHandler(event:MouseEvent):void
{
var imageWindow:ImageWindow = ImageWindow(PopUpManager.createPopUp(this, ImageWindow, false));
PopUpManager.centerPopUp(imageWindow);
}
]]>
ImageWindow.mxml
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="700" height="350" title="设置图片"
close="PopUpManager.removePopUp(this);">
import mx.controls.Alert;
import mx.managers.CursorManager;
import mx.managers.PopUpManager;
import mx.rpc.events.ResultEvent;
[Bindable]
private var file:FileReference = new FileReference();
protected function chooseFile(event:MouseEvent):void
{
var imgFileFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png");
file.browse([imgFileFilter]);
file.addEventListener(Event.SELECT, haveSelected);
}
private function haveSelected(event:Event):void
{
if(FileReference(event.target).size > 512000)
{
Alert.show("文件大小超过500K, 请重新选择!", "提示");
return;
}
fileName.text = file.name;
}
protected function upLoadFile(event:MouseEvent):void
{
if(fileName.text == "未选择文件")
{
Alert.show("请选择要上传的文件", "提示");
return;
}
else
{
var request:URLRequest = new URLRequest("http://localhost:8008/uploadfiles.php");
file.addEventListener(Event.COMPLETE, upLoadFileComplete);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
pb.visible = true;
file.upload(request);
}
}
private function progressHandler(event:ProgressEvent):void
{
pb.setProgress(event.bytesLoaded, event.bytesTotal);
}
private function upLoadFileComplete(event:Event):void
{
PopUpManager.removePopUp(this);
Alert.show("文件上传成功!", "提示");
}
protected function stopUpLoad(event:MouseEvent):void
{
file.cancel();
PopUpManager.removePopUp(this);
}
]]>
uploadfiles.php
$fileName = $_FILES["Filedata"]["name"];
$file = $_FILES["Filedata"]["tmp_name"];
$path = "uploadFiles/";
if (move_uploaded_file($file, $path . $fileName)){
echo 1;
}else{
echo 0;
}
?>
注:想看见所选的上传图片应在www文件夹下创建一个uploadFiles文件夹用来存储上传图片