[問題]傳 ByteArray 給PHP 相關問題
我要將flex中用imageSnapshot 快照起來的ByteArray上傳到server端
不能用filereference因為使用者不會有選取的動作
我目前嘗試用AMFPHP上傳 可是一直無法上傳成功
在flex 中 data.length約為150000
AMFPHP接到的卻長度為1
同樣的方法傳送"測試字串" 或者[["自"],["定"],["陣"],["列"]]
都會成功 (用AMFPHP一段時間了,當然會成功)
可是我直接把imageSnapshot.data放到netconnection 的call中
卻遇上這種鬼打牆的問題
另外 也有把data 放到URLrequest.data中 用HTTP post的方式丟
也是失敗 請問你們有相關經驗嗎
有沒有惡魔的細節可以分享? 我要瘋了
//主要程式的部分
---------------in flex--------------------------
_objectHandles.selectionManager.clearSelection();
var fileReference:FileReference = new FileReference();
var bmpEnc:BMPEncoder = new BMPEncoder();
//擷取
var imageSnap:ImageSnapshot =
ImageSnapshot.captureImage(field, 0, bmpEnc);
var byteData:ByteArray = imageSnap.data;
byteData.position = 0;
//DataLoader 為我建立的AMFPHP媒介
var dataloader:DataLoader = new DataLoader();
dataloader._phpFileStr = "ebook.imageConvter";
dataloader.addEventListener(DataLoader.AMF_COMPLETE, onUploadComplete);
//trace("length is ",byteData.length);
dataloader.phpFunction("conv",byteData);
---------------in flex--------------------------
---------------in php---------------------------
<?php
class imageConvter
{
function conv($tempFile)
{
$fileName = date("YmdHis");
$somecontent = $tempFile;
$result;
if (!$handle = fopen("tmpImage/".$fileName.".bmp", 'w')) {
$result [] = "cant open";
return $result;
}
//chmod("tmpImage/".$fileName.".bmp",0777);
//file_put_contents("try.bmp", $somecontent);
if (fwrite($handle, $somecontent) === FALSE) {
$result [] = "cant write";
return $result;
}
//$result [] += "size is " .sizeof($somecontent);
$result [] = "fileName";
return $result;
}
}?>
---------------in php---------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.192.107
→
04/28 23:14, , 1F
04/28 23:14, 1F
※ 編輯: jeremylin 來自: 140.117.192.107 (04/29 01:19)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章