在网上找的flash+asp.net的控制摄像头拍照的程序,一点拍照就执行下面的代码了,但不知道context.Request.Form["PHeight"] ,context.Request.Form["PWidth"] 这些参数是怎么传递进来的 public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        
        if (context.Request.Form["PHeight"] != null && context.Request.Form["PWidth"] != null && context.Request.Form["strBMP"] != null)
        {
            try
            {
                int height = int.Parse(context.Request.Form["PHeight"].ToString());
                int width = int.Parse(context.Request.Form["PWidth"].ToString());
                string strBmp = context.Request.Form["strBMP"].ToString();
                SaveBmp(BuildBitmap(width, height, strBmp), context.Server.MapPath("uploadPhoto"));                context.Response.Write("RetMsg=true");
            }
            catch (Exception)
            {
                context.Response.Write("RetMsg=false");
            }
        }
        
    }

解决方案 »

  1.   

    form的post方法 context.Request.Form["PHeight"]  获取客户端ID还是name来的
      

  2.   

    从  页面 form  post过来的
      

  3.   

    刚才看了flash代码,是在flash的拍照按钮里写的变量值,
    我想点击拍照时也传递一个我的页面的值,应该怎么改?flash代码:
    import flash.geom.Matrix;
    import flash.external.*;System.useCodepage=false;//保证和网页传送数据时编码一致/***********************************
         向JS提供的接口
    ************************************/
    //设置相框
    var _methodSF:String = "SetFrame";  //供JS调用的方法名
    var e_areaSF:Object = null;         //操用域
    var methodSF:Function = SetFrame;   //实际调用的AS方法,指针
    //注册供JS调用的函数,返回注册结果
    var wasSuccessfulSF:Boolean = flash.external.ExternalInterface.addCallback(_methodSF, e_areaSF, methodSF);
    function SetFrame(PicURL:String)
    {
    my_Video.my_Frame.loadMovie(PicURL);
    }
    /*
    //设置保存相片时用到的用户相关信息
    var _methodSSI:String = "SetSaveInfo";  
    var e_areaSSI:Object = null;         
    var methodSSI:Function = SetSaveInfo;   
    var wasSuccessfulSSI:Boolean = ExternalInterface.addCallback(_methodSSI, e_areaSSI, methodSSI);
    function SetSaveInfo(UserId:String,UserTypeId:String,AlbumId:String)
    {
    lv.UserId=UserId;            //用户ID;
    lv.UserTypeId=UserTypeId;    //用户类型ID;
    lv.AlbumId=AlbumId;          //相册ID;
    }
    */
    //传递程序员自定义信息
    var _methodEI:String = "SetExtInfo";  
    var e_areaEI:Object = null;         
    var methodEI:Function = SetExtInfo;   
    var wasSuccessfulEI:Boolean = flash.external.ExternalInterface.addCallback(_methodEI, e_areaEI, methodEI);
    function SetExtInfo(myInfo:String)
    {
    lv.myInfo = myInfo;
    }/***********************************
          捕获摄象头
    ************************************/
    btn_UpLoad.enabled=false;  //上传按钮不可用
    my_Video.my_video.clear();
    var cam:Camera = Camera.get();    
    if ( cam  == null)
    {    
    //当没有捕获到摄象头时做一些处理,
    //原因:没有装摄象头,其它程序正在使用摄象头
    //btn_Photo.enabled = false;
    }/***********************************
          从XML文件中读取配置信息
    ************************************/
    var url = "";        //把拍照的图片上传到哪个网址 
    //var openWindow = ""; //在哪个窗口打开弹出的网页,_self,_blank等var myXML = new XML();
    myXML.load("Init.xml");
    myXML.ignoreWhite = true;
    myXML.onLoad = function(success)
    {
    if (success)
    {
    url = myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue;
    //openWindow = myXML.childNodes[0].childNodes[1].childNodes[0].nodeValue;

    cam.setMode(320, 240, 10, true);
    my_Video.my_video.attachVideo(cam);
    }
    }
    var lv:LoadVars;      //存储需要上传的变量
    lv = new LoadVars();  //拍照按钮单击事件
    btn_Photo.onRelease=function ()
    {
    lv.bm = new flash.display.BitmapData(210, 150,true,16);
    var myMatrix:Matrix = new Matrix();
    myMatrix.scale(1.3,1.3);
        lv.bm.draw(my_Video,myMatrix);
    my_Pre.attachBitmap(lv.bm, 1, "always", true); 

    //序列化图片亦可放在上传按钮的单击事件中,
    //放在此处是把等待时间转移至拍照时。
    btn_UpLoad.enabled=false;
    lv.PWidth=210;
    lv.PHeight=150;
    X=0;
    Y=0;
    lv.strBMP="";
    for(Y=0;Y<150;Y++)
    {
    for(X=0;X<210;X++)
    {
    lv.strBMP += lv.bm.getPixel(X,Y).toString(16)+",";
    }
    }

    btn_UpLoad.enabled=true;
    }
    //上传按钮的单击事件
    btn_UpLoad.onRelease=function()
    {
    var lv_Ret:LoadVars;      //存储上传页面回传的信息
    lv_Ret = new LoadVars(); 
    lv.sendAndLoad(url,lv_Ret,"POST");
    lv_Ret.onLoad = function(re)
    {
            if(re)
    {//接收上传页面回发的信息
    if(lv_Ret.RetMsg != null && lv_Ret.RetMsg=="true")
    txt_Msg.text = "上传成功!";
    else
    txt_Msg.text = "上传失败!"+lv_Ret.RetMsg;
            }
    else
    {//上传失败,没有找到目标地址,也可能是超时.
    txt_Msg.text = "没啥反应";
            }
    }
    }
    /*调用JS中的方法上传图片
    function UploadPhoto(picInfo)
    {
    //var picInfo="PWidth="+lv.PWidth+"&PHeight="+lv.PHeight+"&strBMP="+strBMP;
    //UploadPhoto(picInfo);
    var ret = String(ExternalInterface.call("UpLoadPhoto",picInfo));
    }
    */