2010-08-04 28 views
0

我現在有工作,使其顯示一個對話框,保存在電腦上的圖像:使用php更具體地HTTP_RAW_POST_DATA從flash上​​傳圖像?

if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) 
{ 

// get bytearray 
$jpg = $GLOBALS["HTTP_RAW_POST_DATA"]; 

// add headers for download dialog-box 
header('Content-Type: image/jpeg'); 
header("Content-Disposition: attachment; filename=".$_GET['name']); 
    echo $jpg; 
} 

只是想知道是否有什麼辦法可以把文件直接進入目錄/文件,而不需要的對話框?

像上傳者?

回答

1

不,沒有。

+0

有沒有上傳所有使用http的原始數據後的任何方式? – 2010-08-04 15:48:15

+0

沒有。使用http原始發佈數據與下載無關。你搞砸了下載和上傳。你正在使用HTTP_RAW_POST_DATA從用戶發送一個文件到服務器(上傳),並使用echo來發回(下載)。但無關緊要,因爲無論如何您都無法在用戶計算機上保存文件。期。 – 2010-08-04 15:53:01

0

只是閱讀頁面的內容並使用fopen,fwrite e.t.c保存在一個文件中。

if (isset($GLOBALS["HTTP_RAW_POST_DATA"])){ 

    // get bytearray 
    $jpg = $GLOBALS["HTTP_RAW_POST_DATA"]; 

    // add headers for download dialog-box 
ob_start(); 
    header('Content-Type: image/jpeg'); 
     echo $jpg; 
    $image=ob_get_clean(); 
    //and here write it into file  
    } 

或以下是我的代碼,你可以刪除不必要的東西,是不是對您有用

if (isset ($GLOBALS["HTTP_RAW_POST_DATA"]))  { 
$im = $GLOBALS["HTTP_RAW_POST_DATA"]; 
$filename=$_GET['name']; 
$fullFilePath='files/'.$filename; 
$handle=fopen($fullFilePath,"w"); 
fwrite($handle,$im); 
fclose($handle); 
$returnVars = array(); 
$returnVars['write'] = "yes"; 
$returnString = http_build_query($returnVars); 
//send variables back to Flash 
echo $returnString; 
    }