spring boot實現(xiàn)阿里云視頻點播上傳視頻功能(復制粘貼即可)
目錄:
1.spring boot實現(xiàn)阿里云視頻點播上傳視頻(復制粘貼即可)
2.spring boot 實現(xiàn)阿里云視頻點播 --刪除視頻
準備工作:
阿里云地址: https://www.aliyun.com/
登錄阿里云,確保賬戶有余額,有幾毛錢就夠了,開發(fā)學習基本不花錢。
2.進入阿里云開通視頻點播功能
3.獲取阿里云密鑰
代碼編寫:
目錄結構:
application.properties
# 服務端口 server.port=8003 # 服務名 spring.application.name=vod # 環(huán)境設置:dev、test、prod spring.profiles.active=dev #阿里云 vod #不同的服務器,地址不同 aliyun.vod.file.keyid=自己的密鑰id aliyun.vod.file.keysecret=自己的密鑰 # 最大上傳單個文件大?。耗J1M spring.servlet.multipart.max-file-size=1024MB # 最大置總上傳的數(shù)據(jù)大小 :默認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 { //如果設置回調(diào)URL無效,不影響視頻上傳,可以返回VideoId同時會返回錯誤碼。其他情況上傳失敗時,VideoId為空,此時需要根據(jù)返回錯誤碼分析具體錯誤原因 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
且在阿里云點播控制臺看到視頻已經(jīng)上傳
到此這篇關于spring boot實現(xiàn)阿里云視頻點播上傳視頻(復制粘貼即可)的文章就介紹到這了,更多相關spring boot阿里云視頻點播上傳視頻內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringMVC結合模板模式實現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù)
我們經(jīng)常會遇到需要傳遞對象的場景,有時候,我們需要將一個對象的數(shù)據(jù)傳遞給另一個對象進行處理,但是又不希望直接暴露對象的內(nèi)部結構和實現(xiàn)細節(jié),所以本文給大家介紹了SpringMVC結合模板模式實現(xiàn)MyBatisPlus傳遞嵌套JSON數(shù)據(jù),需要的朋友可以參考下2024-03-03springboot項目實現(xiàn)斷點續(xù)傳功能
這篇文章主要介紹了springboot項目實現(xiàn)斷點續(xù)傳,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08基于Java反射的map自動裝配JavaBean工具類設計示例代碼
這篇文章主要給大家介紹了關于基于Java反射的map自動裝配JavaBean工具類設計的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起看看吧2018-10-10