文件上传未上传到服务器文件夹

时间:2014-12-30 21:41:30

标签: java spring-mvc

在我的控制器中:

        @RequestMapping(value={"/editbook.admin"}, method={RequestMethod.POST})
public String editBookSubmit(@Valid @ModelAttribute Book book,
    @RequestParam(value ="file", required=false) MultipartFile file,Model model,
    @RequestParam(value = "id", required = false) Long id,
    ) throws Exception {
    try {
        uploadFile(book, file);
    } catch (Exception e ) {
        log.error("Error editing", e);
    }

        return "editbook";
}

    String path = /assets/BookPDFs;

    private void uploadFile(Book book, MultipartFile file) throws java.io.IOException {
    String destinationDirectory = path + File.separator;
    String fileName = SecurityUtil.getSimpleAlphaNum(file.getOriginalFilename());
    File destination = new File(destinationDirectory + fileName);
    FileUtils.copyInputStreamToFile(file.getInputStream(), destination);
    book.setName(fileName);
    BookBA.saveOrUpdate(book);
}

我确实构建了一个JSP文件来上传文件,其中包含来自page1的一些信息,使用MVC

我想添加从第2页下载文件的功能。

第2页它只是显示我桌上的所有书籍。

我使用方法(uploadFile)从我想要上传的文件名中设置bd中的名称,并调用save方法将其保存在DB中。

我无法从page2下载该文件,因为该文件没有上传到服务器文件夹。

当我调试目标值时正确设置路径。 destination = assets \ BookPDFs \ testFile.pdf

        File destination = new File(destinationDirectory + fileName);

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这很好用。问题是路径是将文件上传到另一个文件。

所以这段代码正在运行:

  String path = /assets/BookPDFs;

private void uploadFile(Book book, MultipartFile file) throws java.io.IOException {
String destinationDirectory = path + File.separator;
String fileName = SecurityUtil.getSimpleAlphaNum(file.getOriginalFilename());
File destination = new File(destinationDirectory + fileName);
FileUtils.copyInputStreamToFile(file.getInputStream(), destination);
book.setName(fileName);
BookBA.saveOrUpdate(book);

}