Flex+PHP实现上传图片|Flex+PHP Realization picture uploading
2010-10-19 13:48
330 查看
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 id="lbProgress" text="上传" x="87.5" y="26"/>
</mx:Canvas>
</mx:Application>
注:uploadURL.url = "http://localhost:80/ShowProduct-debug/uploadFile.php";路径一定要写对,否则回报Error #2044: 未处理的 IOErrorEvent:。 text=Error #2038: 文件 I/O 错误。
2. php代码
<?php
// Flash 传递的文件表单 name 属性为 Filedata
$fileName = $_FILES["Filedata"]["name"];
$file = $_FILES["Filedata"]["tmp_name"];
$path = "uploadFiles/";
if(!is_dir("./uploadFiles")){
@mkdir("./uploadFiles");
}
if (move_uploaded_file($file, $path . $fileName)){
echo Success;
}else{
echo Fail;
}
?>
注:php文件一定要放到Apache运行的目录里,例如:把php文件放到C:\xampp\htdocs\ShowProduct-debug目录下
<?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 id="lbProgress" text="上传" x="87.5" y="26"/>
</mx:Canvas>
</mx:Application>
注:uploadURL.url = "http://localhost:80/ShowProduct-debug/uploadFile.php";路径一定要写对,否则回报Error #2044: 未处理的 IOErrorEvent:。 text=Error #2038: 文件 I/O 错误。
2. php代码
<?php
// Flash 传递的文件表单 name 属性为 Filedata
$fileName = $_FILES["Filedata"]["name"];
$file = $_FILES["Filedata"]["tmp_name"];
$path = "uploadFiles/";
if(!is_dir("./uploadFiles")){
@mkdir("./uploadFiles");
}
if (move_uploaded_file($file, $path . $fileName)){
echo Success;
}else{
echo Fail;
}
?>
注:php文件一定要放到Apache运行的目录里,例如:把php文件放到C:\xampp\htdocs\ShowProduct-debug目录下
相关文章推荐
- [Flex] flex+php实现文件的上传
- 使用MYSQL、PHP和FLEX实现上传图片,动态在DataGrid中添加下载按钮和上传的图片.
- 简单PHP上传图片、删除图片实现代码
- php实现上传图片并进行压缩,之后覆盖原图片
- php实现上传图片
- PHP实现上传图片到 zimg 服务器
- php+layui实现图片上传与预览
- php实现图片上传并利用ImageMagick生成缩略图
- php实现多张图片上传加水印技巧
- PHP实例解析:实现给上传图片加水印图案
- php+jq实现多图片上传
- 使用PhpMysql实现图片文件上传下载
- 微信小程序图片选择、上传到服务器、预览(PHP)实现实例
- php程序中实现图片的上传和下载
- PHP+JavaScript 实现图片无刷新上传
- php实现上传图片生成缩略图示例
- Flex编写安卓实现上传图片到服务器
- 利用iframe+php实现图片的上传
- php实现base64图片上传方式实例代码
- php原生实现图片上传和查看