SSM根据上传文件获取视频文件时长

一、编写前端上传文件代码

<html>
<head>
    <title>file upload</title>
</head>
<body>
    <form action="file" method="post" enctype="multipart/form-data">
        <h1>文件上传</h1>
        <input type="file" name="file">
        <input type="submit" value="上传">
    </form>
</body>
</html>

二、导入jar包(我自己在使用导入maven时用不了,手动导入jar包才可以)

jave.jar 是用于获取文件相关信息的jar包

百度网盘 请输入提取码

提取码:dvvv

三、导入文件上传依赖

 <!--导入filupload和io坐标-->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>

四、spring-mvc.xml配置文件上传解析器

<!--配置文件上传解析器-->
    <bean  id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8"/>
        <!--最大文件大小-->
        <property name="maxUploadSize" value="500000"/>
    </bean>

五、编写主代码



@RequestMapping(value = "/file",method = RequestMethod.POST)
@ResponseBody
public coid add(MultipartFile file){
    long longtime = chapterService.getTime(file,"D://");//调用获取时长代码
    String time = swich_time(longtime);
    System.out.println(time);
}

获取时长(单位:ms) 

public long getTime(MultipartFile multiFile,String filePath){
        try {
            //根据传入的路径和MultipartFile对象,将视频保存到指定位置
            //filePath为保存路径,multiFile.getOriginalFilename()为文件名
            File file = new File(filePath+"\\"+multiFile.getOriginalFilename());
            file.createNewFile();
            //执行这个方法之后,MultipartFile对象就变成file对象了,就不能使用MultipartFile对象属性了
            multiFile.transferTo(file);
            //获取文件相关信息
            Encoder encoder = new Encoder();
            MultimediaInfo info = encoder.getInfo(file);
            //获取视频时长
            return info.getDuration();
        } catch (IOException e) {
            e.printStackTrace();
        }catch (EncoderException e) {
            e.printStackTrace();
        }
        return 0;
    }

将毫秒转换成HH:mm:ss格式

public String swich_time(long time) {
    //这里想要只保留分秒可以写成"mm:ss"
    SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
    //这里很重要,如果不设置时区的话,输出结果就会是几点钟,而不是毫秒值对应的时分秒数量了。
    formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
    String hms = formatter.format(time);
    return hms;
}

这样就可以获取视频的时长了,有用的话就点个赞吧! 

125分50秒---162.81M---LabView01---第10章数据的显示.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView01-第10章数据的显示.wmv 92分2秒---143.46M---LabView02---第11章文件的IO及保存.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView02-第11章文件的IO及保存.wmv 37分22秒---58.09M---LabView03---第12章LabVIEW的通信.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView03-第12章LabVIEW的通信.wmv 9分58秒---21.2M---LabView04---第13章LabVIEW与其它软件的连接.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView04-第13章LabVIEW与其它软件的连接.wmv 4分45秒---9.99M---LabView05---第14章LabVIEW中子VI的设置及调用.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView05-第14章LabVIEW中子VI的设置及调用.wmv 34分30秒---61.03M---LabView06---第15章其它高级技巧.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView06-第15章其它高级技巧.wmv 9分41秒---11.37M---LabView07---第2章第一个LabVIEW例子.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView07-第2章第一个LabVIEW例子.wmv 86分58秒---140.25M---LabView08---第3章基本元素.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView08-第3章基本元素.wmv 76分48秒---143.72M---LabView09---第4章程序结构.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView09-第4章程序结构.wmv 5分46秒---14.67M---LabView10---第5章数据采集.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView10-第5章数据采集.wmv 12分50秒---18.35M---LabView11---第6章数据传输及电脑接口.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView11-第6章数据传输及电脑接口.wmv 59分57秒---87.83M---LabView12---第7章数据的分析及处理.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView12-第7章数据的分析及处理.wmv 42分4秒---61.02M---LabView13---第8章LabVIEW的信号调理.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView13-第8章LabVIEW的信号调理.wmv 132分19秒---178.86M---LabView14---第9章分析处理中数学计算.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView14-第9章分析处理中数学计算.wmv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱摸鱼的呆瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值