【问题标题】:Uploading files to server and storing files to disk with Spring Framework 3使用 Spring Framework 3 将文件上传到服务器并将文件存储到磁盘
【发布时间】:2010-06-30 12:07:45
【问题描述】:

我需要将文件上传到服务器并且我已经成功完成了那部分,但是现在我需要知道使用 Spring 将与数据库项目相关的文件保存到磁盘的最佳实践以及如何使用 Spring 实际完成。

我认为这可能是在文件夹中使用数据库表 ID 的好方法:

context_path/table_name/id/filename.file

【问题讨论】:

    标签: java spring file-upload filesystems


    【解决方案1】:

    共有三个选项:

    • 将它们作为 blob 存储在数据库中
    • 将它们存储在 Web 应用程序外部的文件夹中(并可在应用程序属性中配置),并保留对数据库中子文件夹+文件名的引用(在 db 中)
    • 将项目推送到其他存储,如内容存储库,并保持对资源唯一键的引用(在数据库中)

    这种情况不仅适用于 spring,而且适用于任何应用程序。

    【讨论】:

      【解决方案2】:

      您将文件保存在具有数据库中行 ID 名称的目录中的方法非常好。没有什么好的方法可以让这个真正 100% 的事务安全(文件系统并不真正理解“事务”或“两阶段提交”的概念。

      只需确保context_path 是可配置的,以便可以轻松移动数据。

      【讨论】:

      • 我认为他成功处理了上传
      • 是的,错过了。更新了我的答案。
      • 有人可以发布他/她的代码的某些部分吗?你是怎么搬家的?一个 MultiPart 文件到它的目的地?需要哪些步骤?
      • @Czar:看一下 FileUpload 的示例代码:commons.apache.org/fileupload/using.html 如果您无法正常工作,请提出具体问题。
      • 谢谢。我让它工作了。也可以在我的服务器磁盘上移动文件,但最终决定放入数据库。不过还是谢谢...
      猜你喜欢
      • 2011-03-26
      • 2019-04-04
      • 2018-09-14
      • 2013-12-26
      • 2020-06-05
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多