首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用hibernate-ogm和Mongodb上传文件?

如何使用hibernate-ogm和Mongodb上传文件?
EN

Stack Overflow用户
提问于 2013-08-24 05:11:04
回答 1查看 691关注 0票数 1

我已经能够将字符串和日期上传到Mongodb中,但我不知道如何使用webapp将文件放入其中。

我不想使用GridFS,而是使用像byte[]或blob这样的东西(但如果我必须使用GridFS,那么我就必须使用)。

这是我到目前为止所知道的:

index.jsp:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
//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);
        }
    }
}

我怎么才能把文件放进去?我试过了

代码语言:javascript
复制
request.getParameter("fileContent");
request.getAttribute("fileContent");

但这并不管用。

EN

回答 1

Stack Overflow用户

发布于 2013-08-26 23:37:41

我能够将二进制数据上传到我的数据库中,但我不确定如何检索它。以下是我所拥有的:

将以下行添加到我的processRequest方法中:

代码语言:javascript
复制
byte[] b = request.getParameter("fileContent").getBytes();


fileUploadEntity.setFileContent(b);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18411910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档