最近做了一個視頻文件服務器管理網站,是基於ASP.NET開發的,開發完成后就可以將本地PC機當做服務器,然后下載在電腦上的電影、視頻就可以通過局域網在移動端進行播放,很方便吧。
頁面大概是這樣組成的:
欄目顯示頁:
我本地有三個磁盤存儲了電影,分別由后台代碼取出后綴為.mp4的文件,然后顯示到前端頁面,點擊前端頁面的對應電影名稱,跳轉到固定的播放頁面,然后開始播放視頻。
播放頁面如下圖所示:
網站內容搭建步驟如下:
1.使用VS2017新建一個web應用程序,使用MVC模板;
2.在IIS中新建網站,設置網站端口、物理路徑我是直接設置為VS的Web工程下一級,方便調試查看;
3.IIS的網站中添加虛擬目錄,因為瀏覽器無法訪問local resource,所以需要添加虛擬目錄進行視頻文件訪問;
-------
4.Windows安全設置中心,防火牆打開IIS網站的端口,可參考本博內的文章,如何打開端口;
5.開始改造工程中已經建好的控制器-行為-視圖頁面;
6.首頁的Index.cshtml包含有三個Bootstrap的 col-md-4分別呈現三個盤的電影,改寫Home控制器內的Index方法取出三個盤內所有的*.MP4文件,通過ViewBag將文件傳遞到前台;
7.前台通過Razor代碼將ViewBag中存儲的文件名顯示到html頁面上,樣式為鏈接,href指向電影播放頁面,通過Get方式傳遞參數-電影名稱;
8.播放界面對應的Movie方法接受string id參數,該參數為Index頁面中點擊文件跳轉到Home/Movie/?id=name頁面傳遞的點擊的電影名稱,這樣后台根據電影名稱進行搜索,定位資源在磁盤的絕對路徑;
9.在播放頁面將絕對路徑的物理路徑換為虛擬路徑的名稱,通過ViewBag傳遞到Movie.cshtml中,視圖頁面包含了vedio標簽,然后src為Razor代碼補充的電影資源路徑
10.完工(遍歷文件寫了很長時間)
源代碼位置:https://github.com/LeeSKII/MyVideoSystem
End