1

我已经搜索了好几天...我有一个 Flex Air 应用程序,需要将表单上传到 java servlet。表格非常基本:

名字:
姓氏:
图片:

这是最基本的应用程序......我一直在尝试在客户端使用它:

http://blog.inspirit.ru/?p=139

import flash.utils.ByteArray;
import ru.inspirit.net.MultipartURLLoader;

var data1:ByteArray = new ByteArray();
data1.writeUTFBytes("This is a test 1");
data1.position = 0;

var data2:ByteArray = new ByteArray();
data2.writeUTFBytes("This is a test 2");
data2.position = 0;

var ml:MultipartURLLoader = new MultipartURLLoader();
ml.addEventListener(Event.COMPLETE, onReady);

function onReady(e:Event):void
{
    // Upload Complete
}

// simple string data
ml.addVariable('test', 'test variable');

// file data: ByteArray, File name, Name of the file field, content MIME type (default application/octet-stream)
// use [] if you need identical file field name
// specify MIME type for your file part
ml.addFile(data1, 'test1.txt', 'Filedata[]');
ml.addFile(data2, 'test2.txt', 'Filedata[]', 'text/plain');

ml.load('test.php');

在服务器端,我要做的就是将 pic.jpg 保存为 ac:/uploads/ 中的 lastname.jpg

有人可以告诉我air和java servlet 3.0之间最基本的工作示例吗

4

1 回答 1

2

这可能有些过时,但它有效 - 可能会给你一个开始:

public function buildForm() : void
{
    var requestObj : Object = new Object();
    requestObj.javavalue0 = value0;
    requestObj.javavalue1 = value1;
    flexform.request = requestObj;

    flexform.send();
}

<mx:HTTPService id="flexform" url="https://someurl.org/Form/servletPage" 
    method="POST" result="resultHandlerSubmitForm(event)" 
    fault="faultHandler(event)" />

在 java 方面:用于request.getParameter获取 POST 值。

public class servletPage extends HttpServlet
{

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try
    {
        String str_javavalue0 = request.getParameter( "javavalue0" );

等等....

于 2013-04-23T13:36:48.533 回答