Flex2中的代码片段,用于实现拍照功能.
FLEX实现抓取图像,通过JPEGEncoder转换成ByteArray,返回.
剩下的工作简单了,获取图像保存而 已
php 实现
1
private function getSnapshotJPEG():void {
2
var jpegEnc:JPEGEncoder = new JPEGEncoder(100);
3
var jpegData:ByteArray = jpegEnc.encode(cameraStream.getSnapshotBitmapData());
4
5
//var req:URLRequest = new URLRequest('http://127.0.0.1/php/UploadImg.php');
6
var req:URLRequest = new URLRequest('http://127.0.0.1/dotnet/FlexWebCam.aspx');
7
var loader:URLLoader = new URLLoader();
8
saveImageListeners(loader);
9
//loader.addEventListener('complete', onComplete);
10
11
req.contentType = 'applicatoin/octet-stream';
12
//req.contentType = 'multipart/form-data';
13
req.method = URLRequestMethod.POST;
14
req.data = jpegData;
15
16
try {
17
loader.load(req);
18
}
19
catch (error:Error) {
20
trace('unable to load request');
21
}
22
23
function saveImageListeners(dispatcher:IEventDispatcher):void {
24
dispatcher.addEventListener(Event.COMPLETE, onComplete);
25
}
26
27
function onComplete(e:Event):void {
28
//navigateToURL(new URLRequest("http://127.0.0.1/php/UploadImg.php"),"_self");
29
var loader:URLLoader = URLLoader(e.target);
30
trace('返回数据:'+loader.data);
31
}
32
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

FLEX实现抓取图像,通过JPEGEncoder转换成ByteArray,返回.
剩下的工作简单了,获取图像保存而 已
php 实现
1
$fp = fopen('php.jpg', 'wb');
2
fwrite($fp, $GLOBALS['HTTP_RAW_POST_DATA']);
3
fclose($fp);

2

3

C# 实现
1
System.Drawing.Image img = System.Drawing.Image.FromStream(Request.InputStream);
2
img.Save(@"D:\path\asp.jpg");

2
