1. 程式人生 > 程式設計 >spring boot實現阿里雲視訊點播上傳視訊功能(複製貼上即可)

spring boot實現阿里雲視訊點播上傳視訊功能(複製貼上即可)

目錄:

1.spring boot實現阿里雲視訊點播上傳視訊(複製貼上即可)

2.spring boot 實現阿里雲視訊點播 --刪除視訊

準備工作:

阿里雲地址: https://www.aliyun.com/

登入阿里雲,確保賬戶有餘額,有幾毛錢就夠了,開發學習基本不花錢。

在這裡插入圖片描述

2.進入阿里雲開通視訊點播功能

在這裡插入圖片描述

3.獲取阿里雲金鑰

在這裡插入圖片描述

程式碼編寫:

目錄結構:

在這裡插入圖片描述

application.properties

# 服務埠
server.port=8003
# 服務名
spring.application.name=vod

# 環境設定:dev、test、prod
spring.profiles.active=dev

#阿里雲 vod
#不同的伺服器,地址不同
aliyun.vod.file.keyid=自己的金鑰id
aliyun.vod.file.keysecret=自己的金鑰

# 最大上傳單個檔案大小:預設1M
spring.servlet.multipart.max-file-size=1024MB
# 最大置總上傳的資料大小 :預設10M
spring.servlet.multipart.max-request-size=1024MB

ConstantVodUtils ,獲取配置檔案的配置資訊

@Component
public class ConstantVodUtils implements InitializingBean {

 @Value("${aliyun.vod.file.keyid}")
 private String keyid;

 @Value("${aliyun.vod.file.keysecret}")
 private String keysecret;

 public static String ACCESS_KEY_SECRET;
 public static String ACCESS_KEY_ID;

 @Override
 public void afterPropertiesSet() throws Exception {
  ACCESS_KEY_ID = keyid;
  ACCESS_KEY_SECRET = keysecret;
 }
}

VodController

@RestController
@RequestMapping("/vod/video")
@CrossOrigin
public class VodController {

 @Autowired
 private VodService vodService;

 //上傳視訊到阿里雲
 @PostMapping("uploadAlyiVideo")
 public String uploadAlyiVideo(MultipartFile file) {
  //返回上傳視訊id
  String videoId = vodService.uploadVideoAly(file);
  return videoId;
 }
}

service

public interface VodService {
 //上傳視訊到阿里雲
 String uploadVideoAly(MultipartFile file);
}
@Service
public class VodServiceImpl implements VodService {

 @Override
 public String uploadVideoAly(MultipartFile file) {

  try {
   //accessKeyId,accessKeySecret
   //fileName:上傳檔案原始名稱

   String fileName = file.getOriginalFilename();
   //title:上傳之後顯示名稱
   String title = fileName.substring(0,fileName.lastIndexOf("."));
   //inputStream:上傳檔案輸入流
   InputStream inputStream = file.getInputStream();
   UploadStreamRequest request = new UploadStreamRequest(ConstantVodUtils.ACCESS_KEY_ID,ConstantVodUtils.ACCESS_KEY_SECRET,title,fileName,inputStream);

   UploadVideoImpl uploader = new UploadVideoImpl();
   UploadStreamResponse response = uploader.uploadStream(request);

   String videoId = null;
   if (response.isSuccess()) {
    videoId = response.getVideoId();
   } else { //如果設定回撥URL無效,不影響視訊上傳,可以返回VideoId同時會返回錯誤碼。其他情況上傳失敗時,VideoId為空,此時需要根據返回錯誤碼分析具體錯誤原因
    videoId = response.getVideoId();
   }
   return videoId;
  }catch(Exception e) {
   e.printStackTrace();
   return null;
  }

 }
}

介面簡單編寫

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="http://127.0.0.1:8003/vod/video/uploadAlyiVideo">
 <input type="file" name="file"/>
 <input type="submit" value="提交"/>
</form>
</body>
</html>

上傳成功後返回視訊id

在這裡插入圖片描述

且在阿里雲點播控制檯看到視訊已經上傳

在這裡插入圖片描述

到此這篇關於spring boot實現阿里雲視訊點播上傳視訊(複製貼上即可)的文章就介紹到這了,更多相關spring boot阿里雲視訊點播上傳視訊內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!