播放框架2上传文件到mySQL

Yan*_*ang 3 mysql blob playframework playframework-2.0

我正在尝试使用play framework2将图像上传到mySQL.

在Play框架1.24中,我使用" play.db.jpa.Blob"并将"multipart/form-data"图像上传到mySQL.

但是在播放框架2中没有Blob...我怎样才能将图像上传"multipart/form-data"到mySQL?

i.a*_*iel 6

绝对不应将文件存储到数据库中.这是个坏主意.相反,您应该将文件上传到某个本地或远程文件系统,并仅将文件名/文件路径保存在数据库中.

编辑:由于我的回答是downvoted,我会尝试给出更多解释:

  1. 首先,在Play框架中使用Blob类型时,它将在您的数据库中创建一个BLOB字段.但是,并非所有数据库都具有blob类型背后的相同实现.在某些RDMS中,Blob类型的存储空间有限,而在其他(例如MySQL)中,blob字段的最大大小将由配置决定.

  2. 其次,当您从数据库中检索文件并将其发送给用户时,您的内存使用量将会爆炸.非常简单,因为Play将blob字段加载到内存中,然后再将其发送给用户.

  3. 另外,如果您的数据库中存储了大量文件,它将很快过载.(要求).下一步将是在新机器上移动数据库.但是如果存储了大量数据,那么您的下一个瓶颈可能不是数据库,而是应用程序和数据库服务器之间的带宽.

  4. 由于数据库产生的开销,使用数据库进行文件存储总是比直接文件系统读取更慢并且消耗更多内存.

使用您的数据库作为文件存储引擎是一个简单快速的设置解决方案,但它充满了不确定性,可能会在您的项目后期真正改变.