1

我正在开发一个允许用户上传和查看 PDF 文件的网络应用程序。

我的问题是我应该将用户上传的文件存储在哪里?他们说将它存储在数据库中需要付出很大的代价。那么如果不在数据库中,我应该将用户上传的文件存储在哪里?你能给我一个特定的或示例路径,我应该在其中存储文件吗?

顺便说一句,我正在使用Spring MVC它是否有助于澄清我的问题。

到目前为止,这也是我对控制器所做的事情:

@RequestMapping( value = "*/uploadPDF", method = RequestMethod.POST )
    public String uploadPDF( @RequestParam( defaultValue = "" )
    String message, @RequestParam( defaultValue = "" )
    String messageType, HttpServletRequest request, ModelMap model, FileBean fileBean, BindingResult result )
    {
        model.addAttribute( "message", message );
        model.addAttribute( "messageType", messageType );
        HttpSession session = request.getSession();
        String returnVal = Credentials.checkSession( session );

        if( returnVal != null )
        {
            return returnVal;
        }

        if( result.hasErrors() )
        {
            for( ObjectError error : result.getAllErrors() )
            {
                System.err.println( "Error: " + error.getCode() + " - " + error.getDefaultMessage() );
            }
            return "redirect:*/module?error";
        }
        return "admin/module";
    }

我还没有决定如何处理文件。请指导我。

4

1 回答 1

1

在存储文件时,您有很多选择……这实际上取决于您的用例。

  • 您可以将文件作为 lob 存储在数据库中。通常,它会因开销而变慢,但您可以从任何具有数据库连接的应用程序访问它。

  • 您可以将文件存储在应用程序服务器 FileSystem 上。如果您希望它非常有效,这可能是最好的解决方案。

  • 您可以将文件放在内容存储库中(例如 Apache Jackrabbit)。如果您想在多个应用程序之间共享文件,这可能是一个不错的选择。

  • ...

你有什么要求?机密性、性能、文件可用性...

于 2013-10-26T11:44:36.240 回答