将MultipartFile file转换成为File, 获取视频时长

将MultipartFile file转换成为File, 获取视频时长

  public static File MultipartFileToFile(MultipartFile multiFile) {
        // 获取文件名
        String fileName = multiFile.getOriginalFilename();
        // 获取文件后缀
        String prefix = fileName.substring(fileName.lastIndexOf("."));
        // 若需要防止生成的临时文件重复,可以在文件名后添加随机码
 
        try {
            File file = File.createTempFile(fileName, prefix);
            multiFile.transferTo(file);
            return file;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

————————————————
原文链接:https://blog.csdn.net/qq_35387940/article/details/102835889

转化为file之后获取视频时长:

	        // 将MultipartFile file转换成为File
	        File f_file = MultipartFileToFile(file);
	        String path = f_file.getCanonicalPath();
	        long duration_new = VideoUtil.getDuration(path);
	        duration = (int)duration_new;  // 获取的视频时长
	        f_file.delete();

videoUtil 工具类在上一篇: https://blog.csdn.net/qq_43148113/article/details/103513970

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Java中,当你处理HTTP请求中的文件上传(MultipartFile)时,通常会涉及到将这些MultipartFile对象转换File对象以便进一步操作,比如写入到硬盘或进行文件处理。以下是一个简单的步骤: 1. **获取MultipartFile**:首先,从HttpServletRequest对象中获取MultipartFile,它代表上传的文件。 ```java MultipartFile file = request.getFile("file"); // 假设文件字段名为"file" ``` 2. **验证文件**:检查文件是否上传成功,以及是否满足所需的格式和大小限制。 ```java if (!file.isEmpty() && isValidFileSizeAndMimeType(file)) { // 文件有效,继续操作 } ``` 3. **创建File对象**:一旦确认文件有效,你可以使用`File.createTempFile()`方法或`FileOutputStream`来创建一个临时的File对象。 ```java String tempFileName = "uploaded_file_" + UUID.randomUUID().toString(); // 生成唯一文件名 File tempFile = File.createTempFile(tempFileName, ".ext"); // 假设你期望的文件扩展名为".ext" try (InputStream inputStream = file.getInputStream(); FileOutputStream fos = new FileOutputStream(tempFile)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { fos.write(buffer, 0, bytesRead); } } catch (IOException e) { // 处理异常 } ``` 4. **完成操作**:现在你已经有了File对象,可以进行后续的处理,如存储到数据库、上传到服务器、或者直接返回给用户。 ```java // 使用tempFile进行操作... ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值