将对象从 flex 发送到 java servlet [英] Send objects from flex to java servlet

查看:25
本文介绍了将对象从 flex 发送到 java servlet的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我在 actionscript 中的方法

This is my method in actionscript

var urlVars : URLVariables = new URLVariables();
                urlVars.myname = byteArr;
                var urlReq : URLRequest = new URLRequest('MyServlet');
                urlReq.data = urlVars;
                urlReq.method = 'post';
                navigateToURL(urlReq, '_blank');

如何在 servlet 上接收字节数组?

How do I recieve the byte array on servlet ?

还有上面的byteArr来自java端,

Also the byteArr above comes from java side,

byte[] byteArr = aMethodWhichReturnsaPDFByteArray();
        HttpServletResponse response = FlexContext.getHttpResponse();
        ServletOutputStream os = null;
        try {
            response.reset();
            response.setContentType("application/pdf");
            response.setContentLength(byteArr.length);
            response.setHeader("Content-disposition",
                    "inline; filename=\"Report.pdf\"");
            os = response.getOutputStream();
            os.write(byteArr);
            os.flush();
os.close();

以上方法无效.

推荐答案

如果您坚持以这种方式发送参数,您最好将字节数组编码为字符串表示形式.Base64 例如.在 java 端使用 commons-codec 对其进行解码.

If you insist on sending the params this way, you'd better encode the byte array in a string representation. Base64 for example. On the java side used commons-codec to decode it.

否则,请参阅这篇文章.它有点旧,但仍然适用.另请参见此处

Otherwise, see this article. It's a bit old, but still applies. Also see here

这篇关于将对象从 flex 发送到 java servlet的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆