【发布时间】:2012-01-28 02:54:39
【问题描述】:
我需要将文件上传到在 tomcat 上运行的 servlet。除了文件,我想允许用户添加与上传的文件相关的评论。我尝试了以下方法,但没有成功:
<form action='MyUploadServlet' enctype='multipart/form-data' method='POST'>
<input type='file' name='filechooser'><br />
<textarea name='comment' cols='15' rows='5'></textarea>
<input type='Submit' value='Upload'><br />
</form>
这是来自服务器端代码的 sn-p:
@WebServlet("/MyUploadServlet")
public class MyUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
ServletContext sc = request.getServletContext();
String comment = (String)request.getParameter("comment");
....etc}
服务器代码的省略部分处理接收上传文件的内容。
上面的 request.getParameter("comment") 行返回 null。 我在我的应用程序中使用了几个 servlet 和多个表单。在所有其他地方,如果我使用 request.getParameter("form-input-name"),我总是会得到相应输入字段的值。这是唯一的例外,即当表单具有“文件”类型的输入字段时。
如何在文件上传提交的同时传递评论?
【问题讨论】:
-
我不了解 Java 部分,但总的来说,这应该可以。 (想要添加一些特定语言的标签?)
-
我认为你最好把你的servlet代码粘贴到这里,因为这个html表单没有问题。
-
html 代码肯定没有错,看看这里:javadb.com/get-request-parameters-in-a-servlet 这是一个应该可以工作的例子......
-
我编辑了原始帖子并提供了服务器端sn-p。如您所见,它是普通的 servlet。上面的 html sn-p 选择的文件确实可以正确上传,管道确实可以正常工作,例如一切都按预期工作,唯一缺少的是评论文本区域的值。
标签: html servlets parameters upload submit