代码之家  ›  专栏  ›  技术社区  ›  Ali

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

  •  0
  • Ali  · 技术社区  · 12 年前

    我正在尝试在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 回复  |  直到 12 年前
        1
  •  1
  •   irreputable    12 年前

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

    尝试 java.nio.file.Files.move(source, target, StandardCopyOption.ATOMIC_MOVE) ; 如果失败,它会抛出一个异常,所以你会知道出了什么问题。