Flex+PHP实现上传图片|Flex+PHP Realization picture uploading

1 Flex代码

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init();" >

<mx:Script> <![CDATA[

import flash.net.FileReference;

import mx.controls.Alert;

import mx.events.CloseEvent;

import flash.events.*;

private var file : FileReference;

private var uploadURL : URLRequest;

private function init() : void{

Security.allowDomain("*");

file = new FileReference();

file.addEventListener(ProgressEvent.PROGRESS, onProgress);

file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,onUPLOAD_COMPLETE_DATA);

file.addEventListener(Event.SELECT, onSelect);

uploadURL = new URLRequest();

uploadURL.url = "http://localhost:80/ShowProduct-debug/uploadFile.php";

uploadURL.method = "post";

}

private function upload() : void{

var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");

var allTypes:Array = new Array(imageTypes);

file.browse(allTypes);

}

private function onSelect(e : Event) : void{

Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?", "确认上传",Alert.YES|Alert.NO,null,proceedWithUpload);

}

private function onProgress(e:ProgressEvent) : void{

lbProgress.text = " 已上传 " + e.bytesLoaded + " 字节,共 " + e.bytesTotal + " 字节";

}

private function proceedWithUpload(e : CloseEvent) : void{

if (e.detail == Alert.YES){

file.upload(uploadURL);

}

}

private function onUPLOAD_COMPLETE_DATA(evt:DataEvent):void

{

Alert.show(evt.data.toString());

}

]]>

</mx:Script>

<mx:Canvas width="100%" height="100%">

<mx:VBox width="100%" horizontalAlign="center">

</mx:VBox>

<mx:Button label="上传文件" click="upload();" y="91"/>

<mx:Label );

}

if (move_uploaded_file($file, $path . $fileName)){

echo Success;

}else{

echo Fail;

}

?>

注:php文件一定要放到Apache运行的目录里,例如:把php文件放到C:\xampp\htdocs\ShowProduct-debug目录下