首页 > 代码库 > As3截图转换为ByteArray传送给后台node的一种方法

As3截图转换为ByteArray传送给后台node的一种方法

最近将以前用As3+Php做的一个画板拿出来改成了As3+nodejs(expressjs4)。

Node:

1. 将图片存放的路径设置为静态公开的路径。

app.use(express.static(‘截图存放路径’));

2. app中设置上传路由处理函数。

app.post(‘/whiteboard/upload‘, uploadHandler)

‘/whiteboard/upload‘为文件上传路径,As3中当然需要加上主机地址。

3. 在uploadHandler中监听request对象的‘data’,‘end‘事件。当图片比较大时,data事件可能会触发多次,此时需要将每次获取到的数据追加起来,直到end事件触发时,数据才真正接收完毕。所以在end事件处理函数中利用fs读取数据生成文件。

4. request对象的data事件处理函数的参数实际上是一个Buffer对象。

 

As3:

利用URLLoader类发送上传请求。

1. 设置格式,_loader.dataFormat = URLLoaderDataFormat.BINARY;

2. 设置post数据,_urlRequest.data = http://www.mamicode.com/ba;//ba为图片转换后的byteArray

3.设置complete事件监听,_loader.addEventListener(Event.COMPLETE,onSaveComplete);

4.获取后台返回的数据,_loader.data

 

As3截图转换为ByteArray传送给后台node的一种方法