我想使用Flash在Facebook应用程序中将ByteArray(PNG图像)发送到php文件。有没有办法通过将ByteArray作为一个POST变量而不是整个POST数据来发送?
这里有一个几乎相同的问题:How can I send a ByteArray (from Flash) and some form data to php?但问题不同;而不是在请求的其他部分中走私其他变量,图像本身必须作为变量发送,因为Facebook征用了后期数据并放入了自己的垃圾。
这一切都可能吗?如果没有,我可以以byteArray以外的某种形式发送图像吗?
答案 0 :(得分:0)
我认为最简单的方法是在发送之前对图像进行base64编码。然后它只是一个字符串,将它作为常规POST变量传递是安全的。
在php方面,你只需要base64_decode
这个字符串,然后你就可以将你的图像数据保存到文件或任何你需要的东西(你也可以将它提供给GD或其他这样的库,如果你需要先操纵它。)
另一种选择,至少在理论上是使用multipart / data,就像你在html表单中用来发送文件一样,但是如果我没记错的话,播放器不允许使用这种方法发送文件(直到版本9.0.124或类似的东西,这是可能的。)
因此,base64简单易用,只会增加一些开销;在大小方面有1/3的文件负载,在处理时有一些处理时间,但在大多数情况下,这不是什么大问题。