作者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
推 cjcat2266:Flash Player 10本身就可以作到存檔,但需要使用者同意 02/03 22:53
→ cjcat2266:想要不經過使用者同意就存檔是不可能的 02/03 22:54
→ clarinet09:如果安裝伺服器的電腦和使用者操作的電腦是同一台的話 02/04 01:43
→ clarinet09:有辦法嗎? 02/04 01:43
→ aquarianboy:那就應該有,不過,那何必做成server-client呢? 02/04 01:55
→ aquarianboy:直接做單機版的不是會更簡單嗎? :) 02/04 01:55
推 cjcat2266:是同一台電腦的話,可發佈成AIR應用程式 02/04 02:19
→ cjcat2266:這樣就可以有100%的本機存取權限 02/04 02:19
→ clarinet09:已經完成了!謝謝大家的幫忙!:) 02/05 02:29