解析Servlet中的multipart / form-data请求

时间:2011-06-15 14:05:07

标签: java servlets javamail

  

可能重复:
  Convenient way to parse incoming multipart/form-data parameters in a Servlet

是否有任何方便的方法来读取和解析传入的帖子请求中的数据。

我得到了像这样的Mime multipart Http POST消息:

InputStream  client = request.getInputStream();
        PrintWriter pw = response.getWriter();
        //pw.write("Test Recuperation InputStream");

        BufferedReader br = new BufferedReader(new InputStreamReader(client)); 
        StringBuffer chaine= new StringBuffer();
        String ligne;

          while((ligne=br.readLine())!=null) { 
              chaine.append(ligne);
          }
          client.close();

我收到的内容如下:

Content-Disposition: form-data; name="account_did"
9384602893
--------------------------------f57395a75e4f
Content-Disposition: form-data; name="service_type"
s2t

我如何使用JavaMail解析内容(name =和下面的文本的值)(方法getDisposition仅返回“form-data”)?

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

首先,可以使用标准的HttpServletResponse方法getParameter(“abc”)从servlet读取mime消息。但是要获取原始消息,请按照您的操作完成并通过InputStream访问请求正文。

在JavaMail中,javax.mail.internet.MimeMessage的构造函数包含mime编码的InputStream的参数。这应该能够为你解析消息。