【发布时间】:2010-12-20 13:02:45
【问题描述】:
在下面的链接http://www.tuttoaster.com/create-a-camera-application-in-flash-using-actionscript-3/如何让网络摄像头拍照后直接上传到服务器
package
{
import flash.display.Sprite;
import flash.media.Camera;
import flash.media.Video;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.MouseEvent;
import flash.net.FileReference;
import flash.utils.ByteArray;
import com.adobe.images.JPGEncoder;
public class caml extends Sprite
{
private var camera:Camera = Camera.getCamera();
private var video:Video = new Video();
private var bmd:BitmapData = new BitmapData(320,240);
private var bmp:Bitmap;
private var fileReference:FileReference = new FileReference();
private var byteArray:ByteArray;
private var jpg:JPGEncoder = new JPGEncoder();
public function caml()
{
saveButton.visible = false;
discardButton.visible = false;
saveButton.addEventListener(MouseEvent.MOUSE_UP, saveImage);
discardButton.addEventListener(MouseEvent.MOUSE_UP, discard);
capture.addEventListener(MouseEvent.MOUSE_UP, captureImage);
if (camera != null)
{
video.smoothing = true;
video.attachCamera(camera);
video.x = 140;
video.y = 40;
addChild(video);
}
else
{
trace("No Camera Detected");
}
}
private function captureImage(e:MouseEvent):void
{
bmd.draw(video);
bmp = new Bitmap(bmd);
bmp.x = 140;
bmp.y = 40;
addChild(bmp);
capture.visible = false;
saveButton.visible = true;
discardButton.visible = true;
}
private function saveImage(e:MouseEvent):void
{
byteArray = jpg.encode(bmd);
fileReference.save(byteArray, "Image.jpg");
removeChild(bmp);
saveButton.visible = false;
discardButton.visible = false;
capture.visible = true;
}
private function discard(e:MouseEvent):void
{
removeChild(bmp);
saveButton.visible = false;
discardButton.visible = false;
capture.visible = true;
}
}
}
【问题讨论】:
-
我觉得这个问题可以用一百万种不同的方式来回答。您想上传到流行的照片服务吗? (Flickr、Picasa 等)或者您想上传到您的服务器吗?如果是这样,您的后端技术是什么?您有任何类型的 Web 服务接口吗?如果没有更多信息,我认为我们无法回答您的问题...
-
嗨,我想将它上传到我的服务器,我使用的后端技术是 Django(python)。一旦拍摄照片,我就可以选择保存而不是我可以上传按钮并将其保存在服务器上。
-
@Rajeev:你能告诉我们你要拍照的代码吗?
-
您可以使用 FileReference.upload() 上传到服务器,它必须是 GET 或 POST 但我不知道 Django,所以我不能为此编写示例 sn-p。
-
如果您熟悉 PHP 或任何其他的,您能否在 PHP 上指出......
标签: html apache-flex actionscript