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 会停止保存在当前工作目录中

为啥包含 300 张图像的应用程序停止工作?

Maphilight() 在放大/缩小图像地图后停止正常工作

asp.net core blazor:网络共享上的图像/文件工作 1 分钟,然后停止工作

保存时更漂亮的 VSCODE 重新格式化已停止工作

当我将内联代码放入外部子例程时,相关区域的图像地图突出显示停止工作