Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring Framework 3将文件上载到服务器并将文件存储到磁盘_Java_Spring_File Upload_Filesystems - Fatal编程技术网

Java 使用Spring Framework 3将文件上载到服务器并将文件存储到磁盘

Java 使用Spring Framework 3将文件上载到服务器并将文件存储到磁盘,java,spring,file-upload,filesystems,Java,Spring,File Upload,Filesystems,我需要将文件上传到服务器,我已经成功地完成了这一部分,但现在我需要知道用Spring将与数据库项相关的文件保存到磁盘的最佳实践是什么,以及Spring实际是如何做到的 我认为这可能是在文件夹中使用数据库表id的好方法,例如: context_path/table_name/id/filename.file 有三种选择: 将它们作为blob存储在数据库中 将它们存储在web应用程序外部的文件夹中(可在应用程序属性中配置),并保留对数据库中的子文件夹+文件名的引用(在数据库中) 将项目推送到其他

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

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

context_path/table_name/id/filename.file

有三种选择:

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

这不仅适用于spring,也适用于任何应用程序。

有三个选项:

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

这不仅适用于spring,也适用于任何应用程序。

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


只需确保
上下文路径是可配置的,这样数据就可以很容易地移动。

您将文件保存在一个目录中的方法非常好,该目录具有数据库中行的ID。没有好的方法来确保这一点真正100%的事务安全(文件系统并不真正理解“事务”或“两阶段提交”


只需确保
上下文路径
是可配置的,以便数据可以轻松移动。

我认为他成功地处理了上传。是的,错过了。更新了我的答案。可能有人会发布他/她的部分代码吗?你是如何将多部分文件移动到其目标的?需要哪些步骤?@Czar:只是有一个厕所例如,文件上传的示例代码:如果你不能让它工作,问一个具体的问题。谢谢。我让它工作了。也可以在我的服务器磁盘上移动文件,但最终决定放入数据库。谢谢……我想他成功地处理了上传。是的,错过了。更新了我的答案。有人可能会发布他/她的部分代码吗?您是如何将多部分文件移动到其目的地的?需要哪些步骤?@Czar:只需看一下文件上传的示例代码:如果无法使其工作,请提出一个具体问题。谢谢。我成功了。也可以移动服务器磁盘上的文件,但最终决定将其放入数据库。不过,谢谢。。。