PHP/Flash 保存图像停止工作
Posted
技术标签:
【中文标题】PHP/Flash 保存图像停止工作【英文标题】:PHP/Flash save image stopped working 【发布时间】:2014-06-08 04:23:53 【问题描述】:很久以前,我发现了一个从 Flash 获取数据并将 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;
else echo '发生错误。';
这是动作脚本;
函数createPNG(文件名:字符串) var PNGSource:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight, true, 0); PNGSource.draw(Pimp_mc);
var PNGStream:ByteArray = PNGEncoder.encode(PNGSource);
var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
//Make sure to use the correct path to jpg_encoder_download.php
var PNGURLRequest:URLRequest = new URLRequest ("jpg_encoder_download.php?name=" + fileName + ".png");
PNGURLRequest.requestHeaders.push(header);
PNGURLRequest.method = URLRequestMethod.POST;
PNGURLRequest.data = PNGStream;
var PNGURLLoader:URLLoader = new URLLoader();
navigateToURL(PNGURLRequest, "_self");
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:这是 IE 中的一个问题,因为它已更新到 Flash 13.0.0.214,所以不仅仅是 Chrome 问题,即使使用上述解决方法也很可能是一个问题。
我们开发的内部工具也遇到了同样的问题,因此将使用 ExternalInterface.call("window.open",url); 进行测试如上所述。
问候 利亚姆
【讨论】:
【参考方案2】:Flash 13.0.0.214 在发送标头信息时破坏了 navigateToURL()。尝试删除标题。参考:https://forums.adobe.com/message/6391632
(不要认为这个修复在 IE11 和 Win 8.1 上的 Flash 13.0.0.214 中有效(除非开发者工具被激活),但对于 Chrome、FF 和其他 IE 效果很好。)
【讨论】:
【参考方案3】:这似乎是 Chrome 上嵌入的 Flash Player 的问题,称为 Pepper。
如果您使用非嵌入式插件,它可以工作: 安装external plugin of flash for non-IE browsers,启用官方插件并禁用Chrome插件配置中的嵌入式,你会看到它的工作原理。
要禁用插件,您需要在 url 栏上输入 about:plugins 并点击辣椒下方的禁用链接。检查此屏幕截图(抱歉,它是西班牙语)。
更改后关闭并打开浏览器再试一次。附件将在 Firefox 中显示。
我确定这不是您的解决方案,因为该网站的用户应该手动执行此操作,但它证明问题出在 Chrome 上,而不是您的代码中。
这是 Google 代码页上的错误:https://code.google.com/p/chromium/issues/detail?id=277210
在上一个链接中,有一条评论说您可以致电: ExternalInterface.call("window.open",url);
【讨论】:
抱歉耽搁了。不,屏幕上没有错误。我不确定日志...我在哪里可以找到它们? 顺便说一句。你可以在这里看到这个工作; albinal.com/minion-maker - 保存在 Firefox 中有效,但在 Chrome 中无效??以上是关于PHP/Flash 保存图像停止工作的主要内容,如果未能解决你的问题,请参考以下文章
Python:为啥 Python 会停止保存在当前工作目录中
Maphilight() 在放大/缩小图像地图后停止正常工作