準備作業:
阿里云地址: 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

且在阿里云點播控制臺看到視頻已經上傳

幫助到您請點贊關注收藏謝謝!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230283.html
標籤:java
