spring boot實(shí)現(xiàn)阿里云視頻點(diǎn)播上傳視頻功能(復(fù)制粘貼即可)
目錄:
1.spring boot實(shí)現(xiàn)阿里云視頻點(diǎn)播上傳視頻(復(fù)制粘貼即可)
2.spring boot 實(shí)現(xiàn)阿里云視頻點(diǎn)播 --刪除視頻
準(zhǔn)備工作:
阿里云地址: https://www.aliyun.com/
登錄阿里云,確保賬戶有余額,有幾毛錢就夠了,開發(fā)學(xué)習(xí)基本不花錢。

2.進(jìn)入阿里云開通視頻點(diǎn)播功能

3.獲取阿里云密鑰

代碼編寫:
目錄結(jié)構(gòu):

application.properties
# 服務(wù)端口 server.port=8003 # 服務(wù)名 spring.application.name=vod # 環(huán)境設(shè)置:dev、test、prod spring.profiles.active=dev #阿里云 vod #不同的服務(wù)器,地址不同 aliyun.vod.file.keyid=自己的密鑰id aliyun.vod.file.keysecret=自己的密鑰 # 最大上傳單個(gè)文件大小:默認(rèn)1M spring.servlet.multipart.max-file-size=1024MB # 最大置總上傳的數(shù)據(jù)大小 :默認(rèn)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 { //如果設(shè)置回調(diào)URL無效,不影響視頻上傳,可以返回VideoId同時(shí)會(huì)返回錯(cuò)誤碼。其他情況上傳失敗時(shí),VideoId為空,此時(shí)需要根據(jù)返回錯(cuò)誤碼分析具體錯(cuò)誤原因
videoId = response.getVideoId();
}
return videoId;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}
界面簡(jiǎn)單編寫
<!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

且在阿里云點(diǎn)播控制臺(tái)看到視頻已經(jīng)上傳

到此這篇關(guān)于spring boot實(shí)現(xiàn)阿里云視頻點(diǎn)播上傳視頻(復(fù)制粘貼即可)的文章就介紹到這了,更多相關(guān)spring boot阿里云視頻點(diǎn)播上傳視頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 泛型 Generic機(jī)制實(shí)例詳解
這篇文章主要為大家介紹了Java 泛型 Generic機(jī)制實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
spring 整合kafka監(jiān)聽消費(fèi)的配置過程
這篇文章主要介紹了spring 整合kafka監(jiān)聽消費(fèi)的配置過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
java中Spring Security的實(shí)例詳解
這篇文章主要介紹了java中Spring Security的實(shí)例詳解的相關(guān)資料,spring security是一個(gè)多方面的安全認(rèn)證框架,提供了基于JavaEE規(guī)范的完整的安全認(rèn)證解決方案,需要的朋友可以參考下2017-09-09
SpringMVC結(jié)合模板模式實(shí)現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù)
我們經(jīng)常會(huì)遇到需要傳遞對(duì)象的場(chǎng)景,有時(shí)候,我們需要將一個(gè)對(duì)象的數(shù)據(jù)傳遞給另一個(gè)對(duì)象進(jìn)行處理,但是又不希望直接暴露對(duì)象的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)細(xì)節(jié),所以本文給大家介紹了SpringMVC結(jié)合模板模式實(shí)現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù),需要的朋友可以參考下2024-03-03
springboot項(xiàng)目實(shí)現(xiàn)斷點(diǎn)續(xù)傳功能
這篇文章主要介紹了springboot項(xiàng)目實(shí)現(xiàn)斷點(diǎn)續(xù)傳,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
基于Java反射的map自動(dòng)裝配JavaBean工具類設(shè)計(jì)示例代碼
這篇文章主要給大家介紹了關(guān)于基于Java反射的map自動(dòng)裝配JavaBean工具類設(shè)計(jì)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-10-10

