Flash上传文件

上传

一直想搞这个功能, 想了很多歪门邪道, 未果!
昨天突然在 blueidea 上看到关于 Flash 8 的新特性 (虽然早就装上了 Flash 8 但一直没有仔细研究, 真是惭愧 :p) 中介绍了 flash 8 提供了上载和下载的接口, 马上下去研究了一下, 果然不错. 虽然上传还是需要后台脚本的支持, 但也足够我美上一阵子的了 :D
下面是研究成果, 不敢独享, 拿出来示众 :D
UploadFile.fla

CODE:
// 加载包
import flash.net.FileReference;
// 定义主角 FileReference 对象
var fileRef:FileReference = new FileReference();
// 定义 监听对象
var fileLsn:Object = new Object();
// 定义 文件类型数组 FileReference 对象的 browse 方法的参数
// description: 描述
// extension : 扩展名列表
var fileTyp:Array = new Array({description:"Image files", extension:"*.jpg;*.gif"}, {description:"Document files", extension:"*.txt;*.doc"});
btnBrowse.onRelease = function() {
// 打开 "选择文件" 对话框
fileRef.browse(fileTyp);
};
btnUpload.onRelease = function() {
// 开始上传
fileRef.upload("uploadFile.php");
};
btnClear.onRelease = function() {
strState.text = "";
};
// 选择文件事件
fileLsn.onSelect = function(file:FileReference) {
strState.text += "onSelect '"+file.name+"'\n";
};
// 取消选择
fileLsn.onCancel = function(file:FileReference) {
strState.text += "Cancel!\n";
};
// 打开文件开始上传
fileLsn.onOpen = function(file:FileReference) {
strState.text += "Uploading... '"+file.name+"'\n";
};
// 上传成功
fileLsn.onComplete = function(file:FileReference) {
strState.text += "File '"+file.name+"' upload successfull!\n";
};
// 上传过程
fileLsn.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
strState.text += "onProgress: "+file.name+" with bytesLoaded: "+bytesLoaded+" bytesTotal: "+bytesTotal+"\n";
};
// HTTP 错误
fileLsn.onHTTPError = function(file:FileReference, httpError:Number) {
strState.text += "HTTP ERROR: "+httpError+"\n";
};
// IO 错误
fileLsn.onIOError = function(file:FileReference):Void {
strState.text += "IO Error: "+file.name+"\n";
};
// 安全错误
fileLsn.onSecurityError = function(file:FileReference, errorString:String):Void {
strState.text += "onSecurityError: "+file.name+" errorString: "+errorString;
};
// 绑定监听器
fileRef.addListener(fileLsn);
// 其他属性或事件请参考帮助中关于 FileReference 对象的章节

UploadFile.php

CODE:
<?php
// Flash 传递的文件表单 name 属性为 Filedata
$fileName = $_FILES["Filedata"]["name"];
$file = $_FILES["Filedata"]["tmp_name"];
$path = "uploadFiles/";
if (move_uploaded_file($file, $path . $fileName)){
// echo 1;
}else{
// echo 0;
}
/*
* 只要上传代码就够了
* Flash 似乎不判断该文件的返回值
* 即使该文件报告错 Flash 也无法分析
* 所以最好保证这个文件不会出错
*/
?>
源文件下载
 

时间: 2024-09-16 00:36:12

Flash上传文件的相关文章

flash 上传文件的actionscript 上传的各方法都有,仅供参考

flash 上传文件的actionscript import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; import flash.display.Sprite; import flash.events.*; var fileRef = new FileReference(); var fileListener = new Object(); var totalBytes:N

使用swfupload上传超过30M文件,使用FLASH上传组件

原文:使用swfupload上传超过30M文件,使用FLASH上传组件  前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M时,就出现404错误,而且是是上传进度达到100%之后,真是让人难思其解.   反复测试,发现FLASH上传文件到并没有正确的执行.NET程序,也就是.NET程序本身有问题; 但小于30M又是一切OK,难道是上传的文件大小有所

Asp.Net + Flash 上传的组件,文件上传后返回值问题,急!

问题描述 我从网上下载了一个Asp.Net+Flash上传的组件,自己改了下,现在已实现以下功能: 1.上传多个文件: 2.定义上传各种类型的文件: 3.定义上传路径: 4.支持上传大文件. 主页面:Default.aspx(页面链接包含了:Default.aspx.cs.upload.swf.UploadVideo.ashx) 上传文件页面:UploadVideo.ashx 现在有个很大的问题:就是UploadVideo.ashx页面上传文件后,要如何将文件名称(处理结果)返回到Default

技巧之使用 Flex 上传文件

技巧|上传 教程很简单, 先看看演示http://kakera.35818.net/uploadsample/ 客户端, 只有 1 个 mxml, 看注释就明UploadSample.mxml 代码拷贝框<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"layout="vertic

JavaScript实现仿flash上传头像

flash上传头像多不胜举了,可JS仿flash的见的不多,也是工作需要,就试着写写看!不料,设想还真的可行 先看效果图(在FF下): 下面是我整个的思路: 一.用ajaxFileUpload.js异步上传图片.这个不用多说了,挺简单的东西. 二.div拖拽用jquery-ui.这个也不多说了. 三.上传过图片的处理. 编辑容器是300*300,如果图片不在300*300之内,这里会生成一个maxHeight=300,maxWidth=300的缩略图, 用于设置编辑容器的背景,如果原文件为123

php 生成自动创建文件夹并上传文件的示例代码

 本篇文章主要是对php生成自动创建文件夹并上传文件的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助    代码如下: <? session_start(); if($_SESSION['Company']=='') {  //exit(); } ?><?php //上传图片   $uptypes=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','appli

php-PHP+ajax上传文件滚动条怎么做?

问题描述 PHP+ajax上传文件滚动条怎么做? 想做个上传文件袋滚动条的功能,用PHP+ajax来实现,例如点击 上传按钮 上传后返回上传成功路径,有滚动条显示.谁有代码分享下,谢谢 解决方案 http://www.helloweba.com/view-blog-189.html 解决方案二: swfupload,uploadify都可以(flash实现).. ajax是不能上传文件件的,要结合html5的formdata对象才行 jquery.form.js好像也有进度条(在支持formda

OSS Web直传——使用Flash上传

OSS Web直传使用案例:点击这里 好的.今天我讲解一下Flash上传的示例.   Flash上传我还是采用pupload上传插件.做法是将 pupload 的runtimes 改成:flash   var uploader = new plupload.Uploader({ browse_button : 'selectfiles', runtimes : 'flash', //设成flash,就是flash的方式上传 container: document.getElementById('

ajax-不使用form表单springmvc如何上传文件

问题描述 不使用form表单springmvc如何上传文件 项目中需要在之前哥们的代码中加上一个文件上传功能,但是之前哥们写的jsp中使用的div里嵌套的table,并没有使用form表单,提交使用的是ajax,将页面的数据转成json提交到后台的. 我如何在他的基础上将上传的文件传到后台呀?怎么接收,还是用他这个提交按钮?可以实现吗? 解决方案 这里用到HTML 标签的 enctype 属性. enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 默认地,表单数据会编码为 "