Я смог загрузить Strings and Dates в Mongodb, но я не могу понять, как получить файл там, используя webapp.Как загрузить файл с hibernate-ogm и Mongodb?
Я бы предпочел не использовать GridFS, а что-то вроде байта [] или blob (но если я должен использовать GridFS, то должен).
Вот то, что я до сих пор:
index.jsp:
<form action="./FileUploadServlet" method="POST">
<input type="text" name="subject"/><br>
<input type="date" name="docDate"/>
<%--TODO: accept file into db--%>
<input type="file" name="fileContent"/>
<input type="submit" value="Submit">
</form>
FileUploadServlet.java:
//imports...
@WebServlet(name = "FileUploadServlet", urlPatterns = {"/FileUploadServlet"})
public class FileUploadServlet extends HttpServlet {
throws ServletException, IOException, Exception {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
FileUploadDAO fileUploadDAO = new FileUploadDAO();
FileUploadEntity fileUploadEntity = new FileUploadEntity();
String subject = request.getParameter("subject");
String dateStr = request.getParameter("docDate");
//TODO: GET FILE CONTENTS
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(dateStr);
fileUploadEntity.setSubject(subject);
fileUploadEntity.setDocDate(date);
//TODO: SET FILE CONTENTS
fileUploadDAO.persistAction(fileUploadEntity);
response.sendRedirect("/jdc/index.jsp");
} finally {
out.close();
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (Exception ex) {
Logger.getLogger(FileUploadServlet.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Как получить файл там? Я попробовал
request.getParameter("fileContent");
request.getAttribute("fileContent");
но это не сработало.
почему бы вам не использовать GridFS? –
Это было требование, данное мне в то время. Честно говоря, вы, вероятно, не захотите. – Jeff