如何在Play Framework中复制上传的文件?

时间:2013-02-19 03:47:17

标签: java linux file-io playframework playframework-2.0

我正在尝试在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()));
    }

1 个答案:

答案 0 :(得分:1)

File.renameTo()如果是falis则返回false,但是没有详细的错误信息,所以很糟糕。

尝试java.nio.file.Files.move(source, target, StandardCopyOption.ATOMIC_MOVE);如果失败会引发异常,所以你会知道什么是错的。