Uploader.as
2.87 KB
1
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/**
* @author tuomari
*/
package fi.insomnia.camuploader {
import flash.display.*;
import flash.events.MouseEvent;
import flash.text.*;
import flash.media.Video;
import flash.media.Camera;
import flash.geom.Matrix;
import flash.utils.ByteArray;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLRequestMethod;
import flash.net.URLRequestHeader;
import flash.net.URLLoaderDataFormat;
import mx.graphics.codec.PNGEncoder;
import flash.display.StageScaleMode;
public class Uploader extends Sprite {
private var button:Sprite = new Sprite();
private var video:Video;
private var camera:Camera;
private var userid:String;
private var origin:String;
public function Uploader() {
// stage.scaleMode = StageScaleMode.NO_SCALE;
camera= Camera.getCamera();
camera.setQuality(0, 100);
camera.setMode(320,240,25,true);
video = new Video();
video.width = 320;
video.height = 240;
video.attachCamera(camera);
addChild(video);
button.graphics.clear();
button.graphics.beginFill(0xD4D4D4); // grey color
button.graphics.drawRoundRect(55, 250, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
button.graphics.endFill();
var textLabel:TextField = new TextField()
userid = this.root.loaderInfo.parameters["userid"]
origin = this.root.loaderInfo.parameters["origin"]
textLabel.text = "Ota kuva id: " + userid;
textLabel.x = 70;
textLabel.y = 255;
textLabel.selectable = false;
button.addEventListener(MouseEvent.CLICK, takeSnapshot);
button.addChild(textLabel)
addChild(button);
var overlay:Sprite = new Sprite();
overlay.graphics.clear();
overlay.graphics.beginFill(0xFFFFFF);
overlay.graphics.drawRect(160,0,320,240);
overlay.graphics.endFill();
addChild(overlay);
}
private function takeSnapshot(event:MouseEvent):void
{
var snapshot:BitmapData =new BitmapData(160,240);
snapshot.draw(video,new Matrix());
var naama : ByteArray = new PNGEncoder().encode( snapshot );
trace("Took snapshot!");
// set up the request & headers for the image upload;
var urlRequest : URLRequest = new URLRequest();
urlRequest.url = origin+ '/UploadServlet/' + userid;
urlRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = UploadPostHelper.getPostData( 'image.png', naama );
urlRequest.requestHeaders.push( new URLRequestHeader( 'Cache-Control', 'no-cache' ) );
// create the image loader & send the image to the server;
var urlLoader : URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load( urlRequest );
trace("Image sent");
button.y = button.y+1;
video.attachCamera(null);
}
}
}