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

举报
小影 发表于 2022/04/01 10:13:32 2022/04/01
【摘要】 以上小编学习开发中使用&总结,如果对你有帮助就帮忙点个小赞(^人^),如有侵权联系小编!

一、

        导入相关依赖   小编使用的是 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

四、

        运行结果:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。