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、prodspring.profiles.active=dev#阿里云 vod#不同的服務(wù)器,地址不同aliyun.vod.file.keyid=自己的密鑰idaliyun.vod.file.keysecret=自己的密鑰# 最大上傳單個(gè)文件大?。耗J(rèn)1Mspring.servlet.multipart.max-file-size=1024MB# 最大置總上傳的數(shù)據(jù)大小 :默認(rèn)10Mspring.servlet.multipart.max-request-size=1024MB
ConstantVodUtils ,獲取配置文件的配置信息
@Componentpublic 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')@CrossOriginpublic 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);}
@Servicepublic 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; } }}
界面簡單編寫
<!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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python網(wǎng)絡(luò)編程之ZeroMQ知識(shí)總結(jié)2. chat.asp聊天程序的編寫方法3. Python查找算法之分塊查找算法的實(shí)現(xiàn)4. .NET 中配置從xml轉(zhuǎn)向json方法示例詳解5. python實(shí)現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例6. python之cur.fetchall與cur.fetchone提取數(shù)據(jù)并統(tǒng)計(jì)處理操作7. Python TestSuite生成測(cè)試報(bào)告過程解析8. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題9. JSP之表單提交get和post的區(qū)別詳解及實(shí)例10. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案
