AS3在不使用chrome的服务器上写入

时间:2014-07-17 01:14:38

标签: php actionscript-3 flash google-chrome

我使用PNGEncoder在服务器上写文件,使用Internet Explorer或mozilla文件在服务器上写入,但是当我使用chrome时,文件永远不会被写入。

这是将文件保存到sv的PHP:

<?php 

if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
    $png = $GLOBALS["HTTP_RAW_POST_DATA"];
    header("Content-type: image/png"); 
    echo $png;
}
else echo 'No hay datos binarios';

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

    $im =  $GLOBALS["HTTP_RAW_POST_DATA"];

    $fp = fopen($_GET['vFoto'], 'wb');  
    fwrite($fp, $im);
    fclose($fp);

    echo $_GET['vFoto']." se ha guardado en el servidor";
}
else echo 'No hay datos binarios';

if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
    $png = $GLOBALS["HTTP_RAW_POST_DATA"];
    $img = $_GET["vFoto"];
}
else echo 'No hay datos binarios';

?>

这是我在AS3上执行请求的地方:

var bitmapData:BitmapData = new BitmapData(3750,1300);
    bitmapData.draw(contenedor);

    var file:FileReference = new FileReference();
    var bitmap:Bitmap = new Bitmap(bitmapData)
    var pngEncoder:PNGEncoder = new PNGEncoder();
    var byteArray:ByteArray = PNGEncoder.encode(bitmapData);

    var _ruta:String = "form.php";
    var _nombre_foto:String = new Date().getTime() + "_entrada.png";
    var cabecera:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");

    var urlFoto:URLRequest = new URLRequest();
    urlFoto.requestHeaders.push(cabecera);
    urlFoto.method = URLRequestMethod.POST;
    urlFoto.data = byteArray;
    urlFoto.url = _ruta + "?vFoto=" + _nombre_foto;
    sendToURL(urlFoto);

    trace("Guardado");

1 个答案:

答案 0 :(得分:2)

你看过镀铬控制台了吗?我可以怀疑它只是不允许本地连接,尝试将文件放在服务器上(可以使用mongoose web server本地服务器)

或提议的here

之类的不同标题