php flash 图片上传,Flash教程:flash+php实现图片上传

本文主要向大家介绍了flash+php实现图片上传,通过具体的代码向大家展示,希望对大家学习Flash教程有所帮助。

flash负责打开browser,浏览我的电脑;

这里我们需要的flash方法有:

1.FileReference或者FileReferenceList类,负责浏览我的电脑,两者区别是,前者每次可以选择一个文件

而后者可以每次选择多个文件;

5a8ca62914a7bea42058881320d3c420.png

FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。 操作系统对话框会提示用户选择要上载的文件或用于下载的位置。 每个 FileReference 对象都引用用户磁盘上的一个文件并且具有一些属性,这些属性包含有关文件大小、类型、名称、创建日期、修改日期和创建者类型(仅限 Macintosh)的信息。

2.打开之后,我们可以使用FileFilter来限制选择文件的格式;

04603405e0947974384de1953b979818.png

FileFilter 类用来指示在调用 FileReference.browse() 或 FileReferenceList.browse() 时,用户系统上的哪些文件显示在出现的文件浏览对话框中。 FileFilter 实例将被传递给 browse() 函数。 如果使用 FileFilter 实例,则 FileFilter 实例中未指定的扩展名和文件类型将被过滤掉,即用户在上载时无法选择这些类型。 如果未将 FileFilter 对象传递给 browse(),则对话框中将显示所有文件。

3.这些就够了

php负责后台的上传,这部分只要就只有一个函数move_uploaded_file

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5)

move_uploaded_file -- 将上传的文件移动到新位置

说明

bool move_uploaded_file ( string filename, string destination )

本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。

如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。

如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。

这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。

代码部分:

package

{

import flash.display.Sprite;

import flash.events.Event;

import flash.events.MouseEvent;

import fl.controls.Button;

import flash.net.FileReference;

import flash.net.FileFilter;

public class Main extends Sprite

{

public var file:FileReference;

public var btn:Button;

public var arr:Array;

public var imgfilter:FileFilter;

public var swffilter:FileFilter;

public var ureq:URLRequest;

public function Main()

{

file = new FileReference();

btn = new Button();

imgfilter = new FileFilter("Image", "*.png;*.jpg");

btn.label = "browser";

btn.emphasized = true;

btn.width = 150;

btn.move(100, 100);

ureq.url = "http://localhost/test/img/upload.php";

btn.addEventListener(MouseEvent.MOUSE_DOWN, down);

file.addEventListener(Event.COMPLETE, complete);

file.addEventListener(Event.OPEN,open);

file.addEventListener(Event.CANCEL, cancel);//点击取消按钮会广播这个事件

file.addEventListener(Event.SELECT, select);

addChild(btn);

}

public function down(e:MouseEvent):void {

file.browse([imgfilter]);//browse的参数是以个FileFilter对象,限制文件选择的类型

}

public function complete(e:Event):void {

trace("complete"+e);

}

public function open(e:Event):void {

trace("open");

}

public function cancel(e:Event):void {

trace("cancel");

}

public function select(e:Event):void {

var tem = e.target;

trace(tem.name + "," + tem.creationDate + "," + tem.size);

file.upload(ureq);//选择结束后,开始上传

}

}

}

php代码:<?php

$uploaddir = './uploads/';//设置存储路径

$filename = $_FILES['Filedata']['name'];//获得选择的文件

$uploadfile = $uploaddir . $filename;//存储文件路径

$uploadfile = iconv('utf-8', 'gb2312', $uploadfile);//设置文件格式

move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadfile);//开始上传

?>

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件Flash频道!

  • 0
    点赞
  • 1
    收藏
  • 0
    评论
分片与并发结合 将一个大文件分割成多块 并发上传 极大地提高大文件的上传速度 当网络问题导致传输错误时 只需要重传出错分片 而不是整个文件 另外分片传输能够更加实时的跟踪上传进度 预览 压缩 支持常用图片格式jpg jpeg gif bmp png预览与压缩 节省网络数据传输 解析jpeg中的meta信息 对于各种orientation做了正确的处理 同时压缩后上传保留图片的所有原始meta数据 多途径添加文件 支持文件多选 类型过滤 拖拽 文件&文件夹 图片粘贴功能 粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ Ctrl + ALT + A 网页中右击图片点击复制) Ctrl + V便可添加此图片文件 HTML5 & FLASH 兼容主流浏览器 接口一致 实现了两套运行时支持 用户无需关心内部用了什么内核 同时Flash部分没有做任何UI相关的工作 方便不关心flash的用户扩展和自定义业务需求 MD5秒传 当文件体积大 量比较多时 支持上传前做文件md5值验证 一致则可直接跳过 如果服务端与前端统一修改算法 取段md5 可大大提升验证性能 耗时在20ms左右 易扩展 可拆分 采用可拆分机制 将各个功能独立成了小组件 可自由搭配 采用AMD规范组织代码 清晰明了 方便高级玩家扩展 ">分片与并发结合 将一个大文件分割成多块 并发上传 极大地提高大文件的上传速度 当网络问题导致传输错误时 只需要重传出错分片 而不是整个文件 另外分片传输能够更加实时的跟踪上传进度 预览 压缩 支持常 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值