作者clarinet09 (小不点)
看板Flash
标题[问题] 如何把FLASH动画的图片抓下来存到本机中
时间Wed Feb 3 21:25:33 2010
最近因为毕业专题的需要
研究jpgencoder的用法
想做一个按下"完成按钮"就可以把图片存到本机的固定资料夹中。
在网路上找了不少范例,大部分都是透过浏览器存档。
所以想请问一下
不知道有没有办法可以不透过浏览器直接存档在本机上?
以下是完成按钮要执行的function
function capture(e:MouseEvent):void {
var bitmapdata:BitmapData = new BitmapData(600, 500,true);
bitmapdata.draw(morph);
var jpgEncoder:JPGEncoder = new JPGEncoder(100);//图片质量
var jpgStream:ByteArray = jpgEncoder.encode(bitmapdata);
var dateObj:Date=new Date();
var fileName:String=dateObj.toLocaleString();
var header:URLRequestHeader = new URLRequestHeader ("Content-type",
"application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest
("
http://localhost/faceoff/jpg_encoder_download.php?name="+fileName+".jpg");
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = jpgStream;
navigateToURL(jpgURLRequest);
}
在php的部分
<?php
if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {
$im = $GLOBALS["HTTP_RAW_POST_DATA"];
header('Content-Type: image/jpeg');
header("Content-Disposition: attachment; filename=".$_GET['name']);
echo $im;
readfile($filename);
}
?>
请问有没有办法直接改用sendToURL来存档呢?
或是有其他的方法?
以下是原始档
http://0rz.tw/CKJIx
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.181.170
1F:推 cjcat2266:Flash Player 10本身就可以作到存档,但需要使用者同意 02/03 22:53
2F:→ cjcat2266:想要不经过使用者同意就存档是不可能的 02/03 22:54
3F:→ clarinet09:如果安装伺服器的电脑和使用者操作的电脑是同一台的话 02/04 01:43
4F:→ clarinet09:有办法吗? 02/04 01:43
5F:→ aquarianboy:那就应该有,不过,那何必做成server-client呢? 02/04 01:55
6F:→ aquarianboy:直接做单机版的不是会更简单吗? :) 02/04 01:55
7F:推 cjcat2266:是同一台电脑的话,可发布成AIR应用程式 02/04 02:19
8F:→ cjcat2266:这样就可以有100%的本机存取权限 02/04 02:19
9F:→ clarinet09:已经完成了!谢谢大家的帮忙!:) 02/05 02:29