Многочастная форма не работает - PullRequest
1 голос
/ 23 марта 2012

Я получаю странное поведение для многочастной формы. У меня есть простая HTML-форма, состоящая из нескольких частей, и я использую библиотеку Apache Commons для извлечения полей и файлов. Однако по какой-то причине код сервлета ServletFileUpload.isMultipartContent (request) возвращает false. Ниже приведены коды HTML и сервлетов. Может кто-нибудь, пожалуйста, дайте мне знать, где я иду не так?

Это код файла HTML.

<body>
    <form method="post" action="http://localhost:8080/myapp/handler" enctype="multi-part/form-data">
        <input type="text" name="exp_name"> 
        <input type="file" name="exp_image_upload_0"> 
        <br />
        <button type="submit">Submit</button>
        <button class="btn">Cancel</button>
    </form>
</body>

Это код сервлета

/** Common method called by doGet and doPost methods **/
private void executeRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
    boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
    System.out.println("Content Type : " + request.getContentType());
    System.out.println("Name : " + request.getParameter("exp_name"));
    if (isMultiPart)
        System.out.println(">>>> IS MULTIPART");
    else
        System.out.println(">>>> IS NOT MULTIPART");
}

Для этого кода я всегда печатаю "НЕ МУЛЬТИПАРТ". Я уверен, что я что-то упускаю или делаю неправильно, но не могу точно определить, что именно? Помогите пожалуйста.

1 Ответ

1 голос
/ 23 марта 2012

измените свой атрибут enctype в теге формы, как показано ниже:

enctype="multipart/form-data"
...