SpringMVC 获取Map3,视频等文件播放时长

一、

        导入相关依赖   小编使用的是 jave-1.0.2.jar 注意是jave  不是java,通过网上搜索资源即可下载,如果下载不到可以联系小编,免费发。如果拿到jar不会转成maven方式引用可以参考:本地jar包 打包到本地Maven仓库_小影~的博客-CSDN博客

二、

        编写相关代码:

import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.MultimediaInfo;

@PostMapping("fileupload")
public void files(@RequestParam("file") MultipartFile videoFile, HttpServletRequest request) throws IOException {
    String resultUrl = "";

    // 临时文件防止为止 项目根目录下 /upload文件夹下
    String path = System.getProperty("user.dir") + "/upload";
    File realPath = new File(path);
    if (!realPath.exists()) {// 如果不存在就创建这个目录
        realPath.mkdir();
    }
    // 上传的文件是否存在
    if (videoFile.getOriginalFilename() != null) {
        try {
            // 旧文件名
            String filename = videoFile.getOriginalFilename();
            // 防止冲突生成新文件名
            String newName = UUID.randomUUID().toString().replaceAll("-", "") + filename.substring(filename.lastIndexOf("."));
            // 放入临时目录中
            videoFile.transferTo(new File(realPath, newName));
            // 移动后的文件地址
            //String resultUrl = request.getSession().getServletContext().getRealPath("\\upload\\") + newName; // 文件存储路径
            resultUrl = System.getProperty("user.dir") + "\\upload\\" + newName;
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    System.out.println("文件后移动地址= " + resultUrl);
    //新文件
    File newVideoFile = new File(resultUrl);
    //获取视频文件时长
    Encoder encoder = new Encoder();
    try {
        MultimediaInfo m = encoder.getInfo(newVideoFile);
        SimpleDateFormat sdf=new SimpleDateFormat("mm:ss");
       //   m.getDuration(); =视频时长单位毫秒
        System.err.println(sdf.format(m.getDuration())) ; // 视频时长
         /*   if(minute<1)
                minute = 1;*/
    } catch (Exception e) {
        System.out.println("出现错误");
    }
}

三、

        运行中如果出现异常:the request was rejected because its size (11364527) exceeds the configured 那就是springboot文件上传,文件过大导致异常

在application.properties文件中配置合适的上传大小即可

spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB

四、

        运行结果:

扫描二维码关注公众号,回复: 14227354 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_46522803/article/details/121671746