在我的项目中,我们使用 adobe flash builder 4.6 作为客户端脚本,visual studio 作为中介(用于连接 oracle 数据库)。在此,在 flex 4.6 中,我们在捕获图像后从工作正常的网络摄像头捕获图像我们需要将此捕获的图像保存在 oracle 数据库中,因此为了保存,我们需要将此图像从 flex 传递到 dot-net(visual studio),所以我需要有关如何完成此操作的帮助(将图像从 flex 传递到dot-net)如果有人知道请帮助我,我将非常感谢他们
问问题
173 次
1 回答
0
Finally i got the solution,what i did is
<mx:HTTPService id="savepcktdata" method="POST"
url="{URL}com/...../..../PckInbox.aspx"
result="savepcktdata_resultHandler(event)"
resultFormat="text">
<mx:request>
<Operation>savepcktdata</Operation>
<bytes>
{str64enc}
</bytes>
</mx:request>
</mx:HTTPService>
您必须通过 Httpservice 将上述 base64 字符串从 flex 传递到 dotnet
从网络摄像头拍摄照片后,我们将以字节形式获取图像,在获取字节后,您需要
对这些图像字节进行一些转换,如下所示,然后您需要传递给 base64 字符串,下面的方法描述了如何进行转换;
[Bindable]public var imgbytes:ByteArray=new ByteArray();
[Bindable]public var str64enc:String="";
protected function btnimage_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
if(webimage1.content==null)
{
takepicture1();
}
else if(webimage2.content==null)
{
takepicture2();
}
}
这里 webimage1 是图像标签的 id,例如...
<mx:Image id="webimage1" height="18" width="20"/>
public function takepicture1():void
`{
var urlRequest:URLRequest = new URLRequest();
var picture1:BitmapData=new BitmapData(vddisplay.height,vddisplay.width);
picture1.draw(vddisplay);
webimage1.source=new Bitmap(picture1);
var je1:JPEGEncoder=new JPEGEncoder(50);
imgbytes=je1.encode(picture1);
var base64enc:Base64Encoder=new Base64Encoder();
base64enc.encodeBytes(imgbytes);
str64enc=base64enc.toString();
}
`
在点网;
string str = Convert.ToString(Request.Form["bytes"]);
于 2013-12-20T06:32:59.967 回答