Spring上传后更改视频文件重新上传文件

问题描述

这是我将视频文件上传到服务器的代码上传完成后,用户可以在“审核”页面中查看上传文件。当用户上传一个视频文件重定向到“评论页面时,用户看到的是之前添加文件,而不是新文件。我该如何解决这个问题?

Controller.java

@RequestMapping(value = "/vid-submit")
public String saveVideoData(@RequestParam("answer-file") multipartfile multipartfile) throws IOException {
    User user = getUser();
    SurveyRecords surveyRecord = surveyRecordsRepository.getSingleDataByUserId(user.getUserId());
    
    String filename = StringUtils.cleanPath(multipartfile.getoriginalFilename());
    
    String fileExt = "";
    int i = -1;
    if(( i = filename.indexOf(".")) != -1){
        fileExt = filename.substring(i);
    }
    
    filename = user.getUserId() + fileExt;
    
    String uploadDir = "src/main/resources/static/content/videos";
    FileUploadUtil.saveFile(uploadDir,filename,multipartfile);
    
    if (surveyRecord == null) {
        SurveyRecords newSurveyRecord = new SurveyRecords();
        newSurveyRecord.setVideo(filename);
        newSurveyRecord.setUser(user);
        surveyRecordsRepository.save(newSurveyRecord);
    } else {
        surveyRecord.setVideo(filename);
        surveyRecord.setUser(user);
        surveyRecordsRepository.save(surveyRecord);
    }
    return "redirect:/review";
}

FileUploadUtil.java

public static void saveFile(String uploadDir,String fileName,multipartfile multipartfile) throws IOException {
    Path uploadpath = Paths.get(uploadDir);
     
    if (!Files.exists(uploadpath)) {
        Files.createDirectories(uploadpath);
    }
     
    try (InputStream inputStream = multipartfile.getInputStream()) {
        Path filePath = uploadpath.resolve(fileName);
        Files.copy(inputStream,filePath,StandardcopyOption.REPLACE_EXISTING);
    } catch (IOException ioe) {        
        throw new IOException("Could not save video file: " + fileName,ioe);
    }      
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)