Scala 如何在数据库中保存文件名

Scala 如何在数据库中保存文件名,scala,playframework,filenames,Scala,Playframework,Filenames,当我使用表单在数据库中添加新记录时,我还可以上传图像。这两者没有联系在一起;记录进入数据库,图像进入我桌面上的一个文件夹,所以要知道哪个图像属于哪个记录,我想把文件名放在一列中。我该如何处理这个问题 我在我的项目中使用PlayFramework 2.4、Scala、H2数据库和Anorm您可以像这样检索文件的绝对路径: scala> val filePath = getClass.getResource("myImage.png") filePath: java.net.URI = fil

当我使用表单在数据库中添加新记录时,我还可以上传图像。这两者没有联系在一起;记录进入数据库,图像进入我桌面上的一个文件夹,所以要知道哪个图像属于哪个记录,我想把文件名放在一列中。我该如何处理这个问题


我在我的项目中使用PlayFramework 2.4、Scala、H2数据库和Anorm

您可以像这样检索文件的绝对路径:

scala> val filePath = getClass.getResource("myImage.png")
filePath: java.net.URI = file:/home/robert/myImage.png

html表单中
您需要有一个
输入
标签,标签的类型为
文件
类型,类似于:

<input type="file" name="picture">
def save = Action(parse.multipartFormData) { request =>
  request.body.file("picture").map { picture =>
    import java.io.File
    val filename = picture.filename
    println(filename)
   Ok("saved")
}

您可以使用PK列中的相同名称保存图像,或者将该记录的PK值附加到图像名称。您是否考虑过将图像(作为blob/clob)保存到数据库中作为替代方案?@RobertUdah是的,我在谷歌上搜索过blob和Scala,但看起来很复杂,可能是因为我对Scala不太熟悉,再想一想,存储clob可能并不理想。这篇文章建议将文件路径存储为数据库中的一列,这正是您要做的。我找到了几个示例,说明了如何将文件名保存在DB中,并将图像保存到localdirectory中,但它们都是用PHP编写的。我在Scala中似乎找不到教程或示例。