10 php flash jpeg input actionscript-3
我有一个用Flash AS3制作的草图垫,如下所示:http://henryjones.us/articles/using-the-as3-jpeg-encoder
我想将jpg发送到服务器,并使用php将html表单字段中的一些数据发送到服务器.当按下提交按钮时,有没有办法强制Flash影片传递图像文件?
这有点棘手:你可以通过以下两种方式之一做到:
Arthem在另一个帖子中发布了这个:
这对我很有帮助:http: //www.quietless.com/kitchen/upload-bitmapdata-snapshot-to-server-in-as3/
您需要修改URLRequestWrapper以在需要时插入字段名称和文件名.这就是我所做的:
bytes ='Content-Disposition:form-data; name ="'+ $ fieldName +'"; 文件名="';
它执行最多的标头格式化,以便服务器可以将其理解为文件上载.
顺便说一句,如果你有一个BitmapData,你可能需要先将它编码为JPEG或PNG.
我通常使用这个解决方案:
我没有使用过imageshack API,但你可能想尝试使用adobe的JPGEncoder类 - 这是一个传递用户名和JPG字节数组的快速示例,它非常简单.
private function savePicToServer(bmpData:BitmapData):void
{
var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var jpgStream:ByteArray = jpgEncoder.encode(bmpData);
var loader:URLLoader = new URLLoader();
configureListeners(loader);
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var request:URLRequest = new URLRequest(ModelLocator.BASE_URL + ModelLocator.UPLOAD_URL + "?user=" + ModelLocator.getInstance().username);
request.requestHeaders.push(header);
request.method = URLRequestMethod.POST;
request.data = jpgStream;
loader.load(request);
}
Run Code Online (Sandbox Code Playgroud)
请注意,变量作为查询字符串的一部分传递.您可以使用URLVariables,因为URLVariables将存储在请求的data属性中,我们已经使用它来传递byteArray.
| 归档时间: |
|
| 查看次数: |
24360 次 |
| 最近记录: |