我的inputStream总是空的

时间:2013-10-15 10:38:38

标签: java jsp servlets

我正在尝试开发一个表单来上传图像并将它们插入到db的blob字段中。 我正在遵循本指南http://www.codejava.net/coding/upload-files-to-database-servlet-jsp-mysql

这是我的表格

<form method="post" action="FileUploadDBServlet" enctype="multipart/form-data" id="FormNews" name="FormNews">
<input type="file" name="photo" id="photo" size="50"/>
<input type="submit" value="Procedi">
</form>
/////////////// FileUploadDBServlet is a servlet

当我试图通过这种方式获得“照片”字段时的内容

 Part filePart = request.getPart("photo");

我总是有一个空; filePart始终为null。

Dunno,我犯了一个错误。

3 个答案:

答案 0 :(得分:0)

正确的方法应该是

request.getParameter("photo");

答案 1 :(得分:0)

第1步:设置

enctype='multipart/form-data'

喜欢

<form id="some_form" name="some_form_name" enctype='multipart/form-data' >
</form>

在您的表单中

第2步:在你的controller / servlet / JSP中

Byte[] photo_param = request.getParameter("photo");

步骤3:将此字节数组存储在数据库中,其中column datatype =“blob”

答案 2 :(得分:0)

您需要使用以下命令注释您的servlet:

 @MultipartConfig

启用对解析multipart/form-data个请求的支持。 否则,请求的内容将始终为null

示例:

@WebServlet(description="descriptionHere", urlPatterns={"/urlPatternsHere"}
@MultipartConfig
public class Upload extends HttpServlet {
// some code here
}

然后你可以使用:

Part filePart = request.getPart("photo");

并检索您的请求内容。