フレックスコード1本
mx.controls.Alert をインポートします。
mx.events.CloseEvent をインポートします。
インポート flash.events.*;
プライベート var ファイル : FileReference;
プライベート変数アップロードURL : URLRequest;
プライベート関数 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 = 新しい URLRequest();
UploadURL.url = "http://localhost:80/ShowProduct-debug/uploadFile.php";
UploadURL.method = "投稿";
}
プライベート関数upload() : void{
var imageTypes:FileFilter = new FileFilter("画像 (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
var allTypes:Array = new Array(imageTypes);
file.browse(allTypes);
}
[Select(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 withupload(e:closeevent):void {
if(e.detail == alert.yes){
file.upload(uploadurl);
}
}
プライベート関数 onUPLOAD_COMPLETE_DATA(evt:DataEvent):void
{
Alert.show(evt.data.toString());
< ;mx:VBox width="100%"horizontalAlign="center">
/> 注意: 80/ShowProduct-debug/uploadFile.php"; パスは正しく書かれている必要があります。そうでないと、エラー #2044: Unhandled IOErrorEvent: が報告されます。 text=エラー #2038: ファイル I/O エラー。
2. php コード
// Flash によって渡されるファイルフォーム名属性は Filedata です
$fileName = $_FILES["Filedata"]["name"]; " ]["tmp_name"];
$path = "uploadFiles/";
if(!is_dir("./uploadFiles")){
@mkdir("./uploadFiles");
if (move_uploaded_file($) file , $path . $fileName)){
echo Success;
}
?>
注: php ファイルは、Apache が実行されているディレクトリに配置する必要があります。 C:xampphtdocsShowProduct-debug ディレクトリ内の php ファイル