2011-03-21 65 views
-1

我将使用URLRequest在Flex中上传修改后的图像。它工作正常。但是,我需要将Content-Length作为URLRequestHeader暂时添加,并且出现错误2096.然后,我知道这个标头是不允许的。Actionscript中的URLRequestHeader问题

我该如何解决这种情况。

请指教,谢谢。

更新: 根据Adobe的文档: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestHeader.html

在Flash Player和Adobe AIR 应用 安全沙箱外部的内容,不能使用以下 请求头,并 受限条款不是 区分大小写(例如,Get,get, 和GET都是不允许的)。此外,如果使用 下划线 复姓条款适用(对于 例如,无论是内容长度和 CONTENT_LENGTH是不允许的):

接收字符集,接受编码, 接受,范围,年龄,允许,允许, 授权,收费,连接, 连接,内容长度, 内容 - 位置,内容范围, Cookie,日期,删除,ETag,期待, Get,Head,Host,If-由于, Keep-Alive,Last-Modified,Location, Max-Forwards,选项,来源,发布, Proxy-Authentica te, 代理授权,代理连接, 公开,放入,范围,Referer, 请求范围,重试后,服务器, TE,跟踪,预告片,传输编码, 升级,URI,用户代理,Vary,Via, 警告,WWW-Authenticate, x-flash-version。

回答

0

这是一个安全沙箱中的问题。您尝试在同一个安全沙箱中发布的网址?如果没有,那么他们有没有crossdomain.xml。如果没有,您可能需要查看服务器解决方案,例如将图像发送到同一个域的服务器,然后将带有适当标头的图像发送到您尝试连接的服务。

+0

J_A_X,谢谢你的回复。他们不在同一个安全沙箱中。他们有crossdomain.xml,但它似乎并没有解决问题。实际上,我尝试将图片上传到Picasa网络,并面对这个问题。我知道我可以在我的服务器中设置一个代理脚本来解决它。但是,我想知道是否有任何我不知道的方法可以解决这个问题。 – michael 2011-03-21 23:48:34

+0

也许这是我之前没有听说过的使用跨域的限制,但是为了告诉你实情,我从来不必在请求中修改标头。您应该使用中间件解决方案,您可以将图像发布到php脚本(或任何服务器端语言),然后使用正确的标头将其发送到Picasa服务器。应该很容易实现,再加上它更容易在将来更新系统。 – 2011-03-22 17:02:28