Java Flex—通过将参数传递给Servlet时出现问题。HttpService

Java Flex—通过将参数传递给Servlet时出现问题。HttpService,java,apache-flex,image,servlets,Java,Apache Flex,Image,Servlets,我是flex新手,使用HttpService从flex客户端调用Javaservlet。我在传递值为对象的参数时遇到了一些问题 以下是从网络摄像头捕获图像的flex代码: : var bitmapImageContainer:UIComponent = new UIComponent(); bitmapData = new BitmapData(localVideo.width,localVideo.height);

我是flex新手,使用HttpService从flex客户端调用Javaservlet。我在传递值为对象的参数时遇到了一些问题

以下是从网络摄像头捕获图像的flex代码:

            :
            var bitmapImageContainer:UIComponent = new UIComponent();
            bitmapData = new BitmapData(localVideo.width,localVideo.height);
            capturedImage = new Bitmap(bitmapData);
            bitmapImageContainer.addChild(capturedImage);
            addElement(bitmapImageContainer);
            :

             public function captureImage():void {      
                if (localVideo != null) {
                    bitmapData.draw(localVideo);
                    saveImage.enabled = true;
                }
             }
我正试图通过将捕获的图像发送到Javaservlet。HttpService如下所示:

<fx:Declarations>
    <s:HTTPService id="service" url="http://localhost:8080/MyWebApp/CapturedImageSaver" result="resultHandler(event)" fault="faultHandler(event)" method="POST" showBusyCursor="true" resultFormat="text">
        <s:request xmlns="">
            <image>{bitmapData}</image>
            <hello>value</hello>
        </s:request>
    </s:HTTPService>
</fx:Declarations>  

{bitmapData}
价值
问题

Q1.我应该向servlet发送位图数据还是capturedImage对象

Q2.在服务器端(servlet),我需要将从客户端接收到的对象强制转换给谁


Q3.在服务器端(servlet),我只得到一个参数,即hello。为什么我没有得到第二个参数,即image

不要使用内联参数,只需编写代码即可:

service.send({image:bitmapData,hello:value});

这应该可以工作,如果您的服务没有看到它,可能是配置错误。

我没有测试您的代码,但您似乎需要将BitmapData中的字节作为字节数组传递。下面是一个转换示例(您必须自己摘录)

希望这能帮到你。至于如何在服务器端解码,您需要将字节打包到正确的mime包装器中