我正在尝试在Play 2.0.4中进行基本文件上传。文件上传本身有效,我设法得到一个File
对象。但是,我想将此文件复制到/public/images/
目录中。我怎样才能做到这一点?以下代码不会产生任何结果或错误:
FilePart picture = body.getFile("file");
File file = picture.getFile();
try
{
File dest = new File("../../public/images/new.png");
Logger.debug("Got dest: " + dest.getAbsolutePath() );
file.renameTo(dest);
return ok( file.getAbsolutePath() );
}
catch (Exception e)
{
e.printStackTrace();
return ok(images.render(false, e.toString()));
}
答案 0 :(得分:1)
File.renameTo()
如果是falis则返回false,但是没有详细的错误信息,所以很糟糕。
尝试java.nio.file.Files.move(source, target, StandardCopyOption.ATOMIC_MOVE)
;如果失败会引发异常,所以你会知道什么是错的。