我正在开发一个允许用户上传和查看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";
}
我还没有决定如何处理该文件。请指导我。
答案 0 :(得分:0)
在存储文件方面,你有很多选择......这实际上取决于你的用例。
您可以将文件作为lob存储在数据库中。通常,它会因为更多开销而变慢,但您可以从任何具有数据库连接的应用程序访问它。
您可以将文件存储在应用程序服务器FileSystem上。如果您希望它非常有效,这可能是最好的解决方案。
您可以将文件放在内容存储库(Ex Apache Jackrabbit)中。如果您想在多个应用程序之间共享文件,这可能是一个不错的选择。
...
您有什么要求?机密性,性能,文件可用性......