Flash 上传 ByteArray 数据到 php 并保存为图片

6 篇文章 0 订阅
4 篇文章 0 订阅

Flash 可以通过各种途径获取或生成图片的 ByteArray 数据, 尤其是 Flash Player 10 增加了 FileReference.load 方法之后, 更是方便了许多, 最典型的一个应用场景就是用 Flash 编辑图片.

在 player 10 以前, 通常的做法是: 打开图片 -> 上传 -> 返回图片地址 -> 加载 -> 处理 -> 再上传.

player 10 以后就方便了, 直接用 load 方法打开本地图片, 用 Loader.loadBytes 方法显示图片就完成了上面说的前四步.

最终上传也很简单, AS 代码如下:

var uper:URLLoader = new URLLoader();
var ur:URLRequest = new URLRequest(UP_URL);
ur.contentType = 'application/octet-stream';
ur.method = URLRequestMethod.POST;
ur.data = PNGEncoder.encode(img); // 见参考中的 as3corelib
uper.load(ur);

php 接收数据保存图片代码:

$uuid = uniqid();

$path = sprintf('upload/%s/%s/%s/', date('Y'), date('m'), date('d'));
$file = sprintf('%s%s.png', $path, $uuid);

if(!file_exists($path))
{
    mkdir($path, 0755, true);
}

$img = file_get_contents('php://input');

$fp = fopen($file, 'w');

fwrite($fp, $img);
fclose($fp);

echo $file;

相关参考:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值