69 lines
2.2 KiB
Plaintext
69 lines
2.2 KiB
Plaintext
|
|
package com.securityControl.system.controller;
|
||
|
|
|
||
|
|
import com.securityControl.common.core.web.domain.AjaxResult;
|
||
|
|
import com.securityControl.system.utils.WebmUtil;
|
||
|
|
import io.swagger.annotations.ApiOperation;
|
||
|
|
import lombok.extern.slf4j.Slf4j;
|
||
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
||
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||
|
|
import org.springframework.web.bind.annotation.RestController;
|
||
|
|
import org.springframework.web.multipart.MultipartFile;
|
||
|
|
|
||
|
|
import javax.servlet.http.HttpServletRequest;
|
||
|
|
import javax.servlet.http.HttpServletResponse;
|
||
|
|
import java.io.File;
|
||
|
|
import java.util.HashMap;
|
||
|
|
import java.util.Map;
|
||
|
|
|
||
|
|
@RestController
|
||
|
|
@RequestMapping(value = "/sys/video/")
|
||
|
|
@Slf4j
|
||
|
|
public class VideoControl {
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 前端录像转换
|
||
|
|
*
|
||
|
|
* @param multipartFile 文件
|
||
|
|
*/
|
||
|
|
@ApiOperation(value = "转MP4")
|
||
|
|
@PostMapping("/webmToMp4")
|
||
|
|
public AjaxResult webmToMp4(MultipartFile multipartFile, HttpServletRequest request, HttpServletResponse response) {
|
||
|
|
try {
|
||
|
|
WebmUtil webmUtil = new WebmUtil(transferToFile(multipartFile));
|
||
|
|
Map<String, Object> map = new HashMap<>(16);
|
||
|
|
String convert2Mp4 = null;
|
||
|
|
if (webmUtil.isVideo()) {
|
||
|
|
convert2Mp4 = webmUtil.convert2Mp4();
|
||
|
|
map.put("titleName", multipartFile.getOriginalFilename().replaceAll(".webm", ".mp4"));
|
||
|
|
map.put("fileName", convert2Mp4);
|
||
|
|
}
|
||
|
|
return AjaxResult.success(map);
|
||
|
|
} catch (Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
return AjaxResult.error();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 文件转换
|
||
|
|
*
|
||
|
|
* @param multipartFile 文件
|
||
|
|
* @return 文件
|
||
|
|
*/
|
||
|
|
public File transferToFile(MultipartFile multipartFile) {
|
||
|
|
File file = null;
|
||
|
|
try {
|
||
|
|
String originalFilename = multipartFile.getOriginalFilename();
|
||
|
|
assert originalFilename != null;
|
||
|
|
String[] fileName = originalFilename.split("\\.");
|
||
|
|
file = File.createTempFile(fileName[0] + "xxx", "." + fileName[1]);
|
||
|
|
multipartFile.transferTo(file);
|
||
|
|
file.deleteOnExit();
|
||
|
|
} catch (Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
return file;
|
||
|
|
}
|
||
|
|
}
|