将对象从 flex 发送到 java servlet [英] Send objects from flex to java servlet
本文介绍了将对象从 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屋!
查看全文