as 拍照 上传
来源:互联网 发布:菲乐士双立人wmf 知乎 编辑:程序博客网 时间:2024/04/28 18:05
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.graphics.codec.PNGEncoder;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
import mx.utils.Base64Encoder;
private var cam:Camera;
protected function encode(byteArray:ByteArray):String{
var base64Encoding:Base64Encoder = new Base64Encoder();
base64Encoding.encodeBytes(byteArray , 0 , byteArray.length);
return base64Encoding.toString();
}
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
cam = Camera.getCamera("0");
cam.setMode(100 , 100 , 15 , false);
var video:Video = new Video();
video.attachCamera(cam);
video.width = 100;
video.height = 100;
Alert.show("cam.height" + cam.width + "--" + cam.height);
Alert.show("video.heigh" + video.width + "--" + video.height);
var camArray:Array = Camera.names;
trace(camArray);
vd.addChild(video);
}
protected function button1_clickHandler(event:MouseEvent):void
{
Alert.show("" + vd.width + "--" + vd.height);
var bitmapData:BitmapData = new BitmapData(vd.width , vd.height);
// var bitmapData:BitmapData = new BitmapData(50 , 50);
bitmapData.draw(vd);
var png:PNGEncoder = new PNGEncoder();
// mx.graphics.codec.PNGEncoder
// mx.graphics.codec.JPEGEncoder
var byteArray:ByteArray = png.encode(bitmapData);
var f:FileReference = new FileReference();
f.save(byteArray);
// byteArray.endian = Endian.BIG_ENDIAN;
// byteArray.endian = Endian.LITTLE_ENDIAN;
var service:HTTPService = new HTTPService();
service.method = URLRequestMethod.POST;
service.contentType = "application/octet-stream";
service.headers["accept"] = "*/*";
service.headers["piclength"] = byteArray.length;
service.url = "http://127.0.0.1:8080/upload/upload";
// service.addEventListener( Event.DEACTIVATE , completeHandle4 );
// service.addEventListener( Event.ACTIVATE , completeHandle3 );
// service.addEventListener( InvokeEvent.INVOKE , completeHandle6 );
service.addEventListener( ResultEvent.RESULT , completeHandle);
// service.addEventListener( FaultEvent.FAULT , completeHandle5 );
// Alert.show(""+byteArray.length);
service.showBusyCursor = true;
service.send(byteArray);
}
private function completeHandle(e:ResultEvent):void{
trace(e.result)
// Alert.show("上传成功!");
}
package imgservlet;import java.awt.image.BufferedImage;import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.coobird.thumbnailator.Thumbnails;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import sun.misc.BASE64Encoder;import facepp.FaceUtil;@WebServlet("/upload")public class Upload extends HttpServlet {private static final long serialVersionUID = 1L; public Upload() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} private byte[] input2byte(InputStream inStream) throws IOException { ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); byte[] buff = new byte[100]; int rc = 0; while ((rc = inStream.read(buff, 0, 100)) > 0) { swapStream.write(buff, 0, rc); } byte[] in2b = swapStream.toByteArray(); return in2b; } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Long s = System.currentTimeMillis();InputStream is = request.getInputStream();BufferedImage bi = Thumbnails.of(is).scale(0.5).outputQuality(0.3).asBufferedImage();ByteArrayOutputStream baos = new ByteArrayOutputStream();ImageIO.write(bi, "png", baos);//BufferedInputStream bis = new BufferedInputStream(is);//Integer piclength = Integer.valueOf(request.getHeader("piclength"));//byte[] b = new byte[500];//int rc = 0;//ByteArrayOutputStream baos = new ByteArrayOutputStream();//while((rc = bis.read(b)) > 0){//baos.write(b, 0, rc);//}byte[] faceData = baos.toByteArray();JSONObject rs = FaceUtil.faceDetect(faceData);System.out.println(rs.toString());baos.flush();baos.close();// BASE64Encoder encoder = new BASE64Encoder();// return encoder.encode(data);//返回Base64编码过的字节数组字符串try {JSONArray faceArray = rs.getJSONArray("face");String img_id = rs.getString("img_id");// // return encoder.encode(data);//返回Base64编码过的字节数组字符串BASE64Encoder encoder = new BASE64Encoder();System.out.println(faceData.length);System.out.println(encoder.encode(faceData).getBytes().length);persistenceFace(faceData , img_id);} catch (JSONException e) {e.printStackTrace();}System.out.println(System.currentTimeMillis() - s);}private void persistenceFace(byte[] data , String img_id){File f = new File("C:/facePic/" + img_id + ".png");try {FileOutputStream fos = new FileOutputStream(f);fos.write(data);fos.flush();fos.close();} catch (Exception e) {e.printStackTrace();}}}
- as 拍照 上传
- 拍照上传
- 拍照上传
- android 拍照上传照片
- android 拍照上传照片
- android 拍照上传照片
- android 拍照上传照片
- 拍照及上传
- android 拍照上传照片
- getusermedia,拍照上传功能:
- android 拍照上传照片
- android 拍照上传照片
- android 拍照和上传
- android 拍照上传照片
- 上传头像 拍照 相册
- android 拍照上传照片
- 摄像头拍照上传
- 拍照-照片-上传
- CSS3颜色格式和透明度
- 创建数据库,并定义ContentProvider接口
- 【剑指offer】之二叉树深度
- PCA主成分分析
- UML类图
- as 拍照 上传
- Android中SharedPreferences的总结
- IOS文件上传
- g2o的安装及初步使用
- ABAP中Conversion Routine示例
- 几种TCP连接中出现RST的情况
- warning: directory not found for option ' '
- 架构实践论坛
- tomcat7安装以及环境变量配置