HTML中的表单就像
...
<form method="post" action="/foobar">
<input type="file" name="attachment" />
<input type="text" name="foo" />
... other input fields
</form>
Servlet就像
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String attachment = request.getParameter("attachement");
String foo = request.getParameter("foo");
// get other parameters from the request
// and get the attachment file
}
我想知道
有没有办法不使用第三方库从HttpServletRequest
对象获取文件?
request.getParameter("attachement")
返回什么?是文件名还是其他什么?
二进制输入是由文件系统中的Web容器自动存储还是暂时存储在内存中?
答案 0 :(得分:1)
你的表格行动应该是“POST”和enctype =“multipart / form-data”。
说...为了获得文件,你必须自己准备好请求。
你应该检查:
答案 1 :(得分:0)
添加您的表单 ENCTYPE = “多部分/格式数据”
<form name="formname" action="servletName" method="post" enctype="multipart/form-data">
<input type="file" name="attachment" />
<input type="text" name="foo" />
... other input fields
</form>
现在提交表单时 在控制器方面,您可以通过
获取图片String picture = (request.getParameter("attachment")).getBytes();
我假设文件是图像,你可以传递任何文件