2006-07-26

將 ByteArray 物件傳給 PHP 存檔

ByteArray 物件可以透過 URLRequest 物件傳給後端
_btn.addEventListener(MouseEvent.MOUSE_UP, myMouseUp);
function myMouseUp(e:Event){
var req:URLRequest = new URLRequest("test_request.php");
req.data = byte_array_data;
req.method = URLRequestMethod.POST;
req.contentType = 'application/octet-stream';
flash.net.navigateToURL(req, "_blank");
}

若使用 PHP
$data = $GLOBALS['HTTP_RAW_POST_DATA'];
if (is_null($data)) {
echo "No data was sent";
} else {
$file = fopen("test.jpg", "w") or die("Can't open file");
if(!fwrite($file, $data)){
echo "Error writing to file";
}
print "OK\n";
fclose($file);
}

9 則留言:

匿名 提到...

我想問一下,下面這一行程式的作用是什麼?還有就是我有用你的程式把它改成傳別的檔案類型,不是圖檔,是類似xml那種檔案類型,但是改完之後在做測試的時候,卻說下面的那一行程式沒有定義,這是為什麼啊?跟沒裝php有關係嗎?
import com.gsolo.encryption.MD5;

Shinder 提到...

參考一下這裡
http://gsolofp.blogspot.com/2006/01/actionscript-3-md5-and-sha1.html
這個功能已經被放入 as3corelib 裡了 (http://code.google.com/p/as3corelib/)

passi0n 提到...

您好,谢谢看到了这段程序

匿名 提到...

請問navigateToURL改用sendToURL 並存檔在本機 要怎麼做比較好?

Shinder 提到...

不了解你的問題耶!

匿名 提到...

$GLOBALS["HTTP_RAW_POST_DATA"]
我抓不到這個!!!

Shinder 提到...

自己架的 Server 嗎? 若是租用的就要看功能是否被關掉了...

匿名 提到...

想請問一下,這樣存檔的檔名是否可以做更改?因為每次存檔的檔案都不同,想變更檔名要如何實作??

Shinder 提到...

可以, 看是要用時間或 uniqid 當部份的檔名.

FB 留言