gpt4 book ai didi

scala - 使用 Play 2.0 : exists but replace parameter is false 上传 Ajax 文件

转载 作者:行者123 更新时间:2023-12-04 17:37:40 24 4
gpt4 key购买 nike

我正在客户端使用 Valum 实现 Ajax 文件上传和 Play! 2.0.4 在服务器端。我的操作方法如下所示:

  def ajaxup = Action(parse.temporaryFile) { request =>
try {
request.body.moveTo(new File("/somepath/foo.jpg"))
} catch {
case e: Exception => Logger.error(e.getMessage)
}
Ok("File uploaded")
}

上传工作正常,即文件正确保存在名称 foo.jpg 下。在 /somepath/ .但它也会抛出异常:
Path(/somepath/foo.jpg) exists but replace parameter is false

我怎样才能避免这种情况?我需要在我创建的文件上设置任何属性吗?

最佳答案

我假设您想覆盖现有文件 /somepath/foo.jpg .
如果不这样做,请先检查该文件是否已存在。

无论如何,错误消息已经给了你一个提示。
documentationTemporaryFile案例类。 moveTo方法可以有2个参数;第二个默认为 false并表示您要替换现有文件。

所以,简而言之,而不是

request.body.moveTo(new File("/somepath/foo.jpg"))

你写
request.body.moveTo(new File("/somepath/foo.jpg"), true)

关于scala - 使用 Play 2.0 : exists but replace parameter is false 上传 Ajax 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13343778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com