Flash Action Script 3问题:图像调整大小不起作用

时间:2011-08-05 07:50:40

标签: flash actionscript-3 image action

点击此链接:http://inno_ebay.s3.amazonaws.com/xml-product-slide/index-2.html

此swf对象加载外部xml文件(由php脚本生成,该文件不在同一台计算机上),然后显示产品列表(缩略图和标题)。该脚本在我的本地计算机上运行正常,但是当更新到托管时,图像不会调整大小。在第一次我认为这是托管性能问题,所以我将其迁移到亚马逊s3,但它仍然无法正常工作。欢迎任何建议,谢谢!

2 个答案:

答案 0 :(得分:1)

您的应用程序会引发安全访问冲突,这表示您尝试将图像从其他域加载到Flash所在的域。虽然可以使用crossdomain.xml文件,但在尝试操作远程加载的图像时会遇到麻烦。

我在这些情况下通常使用的解决方法是使用与Flash影片存在于同一域中的代理加载器。这是一个为您提取远程映像的服务器脚本(PHP,ASP,等等)。因为Flash只与代理脚本对话,所以它认为它加载的图像来自本地域。您需要咨询您的托管服务提供商,因为许多托管公司禁止使用代理脚本,即使是出于此类的良性目的。

这是一个简单的示例,尽管您可能希望为现实世界部署添加更多安全性:

proxyloader.php

<?php
    if(!isset($_GET['path'])) {
        echo 'Error';
        exit;
    }
    $path = $_GET['path'];

    $fileContent = file_get_contents($path);
    if(substr($fileContent,0,6) == 'GIF89a' || substr($fileContent,0,6) == 'GIF87a') {
        $contentType = 'image/gif';
    } else if(substr($fileContent,1,3) == 'PNG') {
        $contentType = 'image/png';
    } else {
        $hexContents = bin2hex($fileContent);
        if(strtolower(substr($hexContents,0,4)) == 'ffd8') {
            $contentType = 'image/jpeg';
        } else {
            echo "Error";
            exit;
        }
    }

    header("Content-Description: Proxied Image File");
    header("Content-Type: $contentType");
    header("Content-Disposition: attachment; filename=".$path);
    echo $fileContent;  
?>

你会在像这样的普通加载器中使用它:

var loader:Loader = new Loader()
var req:URLRequest = new URLRequest("proxyloader.php?path="+remoteFilePath);
loader.load(req);

答案 1 :(得分:0)

这是XML:

http://ebay.doufin.com/ebay_query/getItems.php?seller_id=lightupfoto&site_id=0&item_id=270738606484

这是一个项目:

<item link="http://cgi.ebay.com/2400w-Studio-Video-Red-Head-Continuous-Lighting-Kit-/270658608211" thumb="http://i.ebayimg.com/00/$(KGrHqZ,!lwE3JVj5IKsBODEto4sP!~~0_1.JPG?set_id=8800005007">
    <a href="http://cgi.ebay.com/2400w-Studio-Video-Red-Head-Continuous-Lighting-Kit-/270658608211" target='_blank'>2400w Studio Video Red Head Continuous Lighting Kit</a>
</item>

这是缩略图:

enter image description here

这是400 x 400像素。

那么,请问您的问题是什么?