我在我的项目中有这个代码,在spec2中玩2.5,它工作得很好。 最近我更新了2.6.9,现在它不再起作用了。
val file = new File(s"$home/the.upload.file4.$fileName")
val pw = new PrintWriter(file)
pw.write(fileContent)
pw.close
val tempFile = TemporaryFile(file)
我尝试将其更改为:
val file = new File(s"$home/the.upload.file4.$fileName")
val pw = new PrintWriter(file)
pw.write(fileContent)
pw.close
val tempFile = file.asInstanceOf[TemporaryFile]
它编译但在运行时无法将java.io.file转换为临时文件。错误是:
[error] java.lang.ClassCastException:java.io.File无法强制转换为play.api.libs.Files $ TemporaryFile
答案 0 :(得分:2)
您可以替换
val tempFile = file.asInstanceOf[TemporaryFile]
带
val tempFile = SingletonTemporaryFileCreator.create(file.toPath)
所以你也可以使用 TemporaryFileCreator , 有关更多信息和其他用途,您可以看到这一点 Interface Files.TemporaryFile
答案 1 :(得分:0)
您似乎必须立即使用TemporaryFileCreator
创建它:https://www.playframework.com/documentation/2.6.9/api/java/play/libs/Files.TemporaryFile.html