我使用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");
答案 0 :(得分:2)
你看过镀铬控制台了吗?我可以怀疑它只是不允许本地连接,尝试将文件放在服务器上(可以使用mongoose web server本地服务器)
或提议的here
之类的不同标题