在我的控制器中:
@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);
我该怎么做?
答案 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);
}