#应用场景#
- 该后端开发接口适用 图片/视频上传,返回路径名称场景
1.视频上传
写在Controller层
这里只是一个接收,调用uploadObject方法上传oss
public OmsResult<FileUploadDto> goodsUploadVideo(@RequestParam(value = "file") MultipartFile multipartFile, HttpServletRequest request, HttpServletResponse response) {
FileUploadDto fileUploadDto = new FileUploadDto();
if (null == multipartFile) {
return OmsResult.error("文件传输格式错误");
}
String originalFilename = multipartFile.getOriginalFilename();
if (StringUtil.isEmpty(originalFilename)) {
return OmsResult.error("文件名缺失");
}
if (originalFilename != null) {
// 校验文件扩展名
if (!checkFormatVideo(originalFilename)) {
return OmsResult.error("仅支持mp4, mov, m4v, flv, x-flv, mkv, wmv, avi格式");
}
// 校验文件大小
if (multipartFile.getSize() > FileSizeConstant.FILE_20MB) {
return OmsResult.error("文件大小不得超过20MB");
}
try {
String[] split = originalFilename.split("\\.");
// 拼接上传文件名GV+当前时间(24小时)+随机数
String fileName = "GV" + "当前时间" + randomLetterGenerator() + "." + split[1];
// 获取文件输入流
InputStream inputStream = multipartFile.getInputStream();
//上传文件到OSS
//这行代码调用ossClient对象的uploadObject2OSS4SimplePathByIn方法,将文件上传到OSS。其中,inputStream是文件输入流,fileName是文件名,GV是文件在OSS中的存储路径前缀
String url = ossClient.uploadObject(inputStream, fileName, "GV");
log.info("goodsUploadVideo URL:{}", url);