Я разрабатываю почтовую программу с помощью JSP. В этом я должен отправить файл загрузки, а также данные.
<form name="email" enctype="multipart/form-data" method="post" action="/servlet/sendmail">
<input type="file" name="namefile" size="40">
<input type="text" size="100" name="sub">
<input type="submit" name="submit" value="send">
</form>
В сервлете программа Java я могу загрузить файл, но пустой указатель возвратов текстовых полей.
В doPost () метод,
String msg=request.getParameter("sub");
Здесь getParameter()
метод возвращает пустой указатель для текстовых полей.
Мы можем включать и тип файла и текст в единственной форме с enctype="multipart/form-data"
?
Да, это возможно. Вы должны получить текстовое поле, используя тот же API, что и загруженный файл. Неясно, какой из них вы используете для получения загруженного файла, поэтому я не могу дать подробный ответ. Но стандартным API-интерфейсом де-факто для анализа запросов multipart / form-data
является Apache Commons FileUpload , и я опубликовал ответ перед тем, как это сделать прямо здесь . Кстати, вам также необходимо обрабатывать случаи, когда FileItem # isFormField ()
возвращает true
. Это указывает на «обычное» поле формы.