【发布时间】:2017-11-08 20:37:17
【问题描述】:
我有一个 JSP/Servlet 应用程序,它有一个包含多个部分的表单。
客户端:
out.println("<form action='cbehindRegister_submit.php' method='post'enctype=\"multipart/form-data\">");
out.println("<table>");
out.println("<tbody>");
out.println("<tr>");
out.println("<td><label>Username: </label></td>");
out.println("<td><input type='text' required id='input_username' name='input_username'/></td>");
out.println("<td><label id='valusername' class='val'> </label></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><label>Country: </label></td>");
out.println("<td><input type='text' required id='input_country' name='input_country'/></td>");
out.println("<td><label id='valcountry' class='val'> </label></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><label>Profile picture: </label></td>");
out.println("<td><input type='file' required id='input_profile_picture' name='input_profile_picture' accept='image/x-png,image/gif,image/jpeg' /></td>");
out.println("<td><label id='valprofile_picture' class='val'> </label></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><label>Birth date: </label></td>");
out.println("<td><input type='date' required id='input_birth_date' name='input_birth_date' /></td>");
out.println("<td><label id='valbrith_date' class='val'> </label></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><label>Password: </label></td>");
out.println("<td><input type='password' required id='input_password' name='input_password' /></td>");
out.println("<td><label id='valpassword' class='val'> </label></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><label>Verify password: </label></td>");
out.println("<td><input type='password' required id='input_verifypassword' name='input_verifypassword' /></td>");
out.println("<td><label id='valverifypassword' class='val' > </label></td>");
out.println("</tr>");
//request
out.println("<tr>");
out.println("<td height='45px' colspan='3'><input type='submit' id='submit' value='Registreer' id='regsubmit' /></td>");
out.println("</tr>");
out.println("</tbody>");
out.println("</table>");
out.println("</form>");
问题是如何将文件上传为字节数组,以便可以将其作为 blob 存储在数据库中?
有没有办法以类似的方式获取文件 作为
File file = request.getParameter("nameOfFormParameter");
或
byte[] image = request.getParameter("nameOfFormParameter");
互联网上的大多数指南都是用于将文件按原样存储在服务器上。
编辑 1:大多数与文件上传相关的问题都提供了一种解决方案,将文件存储在磁盘上,而不处理内存中的文件。这个问题的目的是找到一个解决方案,在内存中处理上传的文件,而不是将文件直接写入磁盘,而是将它们存储在数据库中。
【问题讨论】:
标签: jsp servlets file-upload