【问题标题】:File uploaded on a web application上传到 Web 应用程序的文件
【发布时间】:2013-11-05 10:07:58
【问题描述】:

我正在开发一个允许用户上传和查看 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";
    }

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

【问题讨论】:

    标签: spring-mvc file-upload upload


    【解决方案1】:

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

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

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

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

    • ...

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

    【讨论】:

    • 选项二能详细点吗?我可以访问两台机器之间的数据吗?即(第一台机器上传了一个新文件,第二台机器应该能够查看新上传的文件)我想知道应用程序服务器文件系统在哪里,对不起一个菜鸟问题。
    • 第二台机器是什么意思?通过 HTTP 访问同一应用程序的机器还是部署在其他机器上的应用程序?
    • 一台机器通过HTTP访问同一个应用,该应用只能通过内网网络访问
    • 只需将文件路径存储到带有 id 的数据库中,并使用该 id 来检索文件系统上的文件。“应用程序服务器文件系统在哪里” 它是托管应用程序的机器的文件系统.
    • 你能举个例子吗?我已经在网上搜索过,但我真的不明白具体在哪里。现在该应用程序正在开发过程中,我应该将它存储在哪里?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 2013-06-15
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多