上傳插件2.0
更新時間:2024-11-21 11:16:50
說明:
- 本文檔從使用者角度簡單概述了 polyv 網頁上傳插件的使用方法。
- V2.0 版本的使用與 V1.0 版本完全一致,因此無需更改原有的介面呼叫及邏輯,只要更換 polyv-upload.js 的呼叫位址即可。(建議使用 V2.0 版本)
一、功能:
- 上傳檔案 1)上傳前可以進行選擇分類、新增標籤、選擇影片優化處理、修改檔案名稱及檔案說明等操作 2)可選擇預設的上傳目錄 3)可設定是否對原始檔案進行編碼 4)支援斷點續傳。中途斷網或瀏覽器因故障等原因重啟後同一個檔案可以實現從斷點續傳。(僅在瀏覽器版本 >= IE10 及主流瀏覽器下支援實現該功能) 5)同時選擇多個檔案、上傳過程顯示進度
- 查看影片 1)查看影片列表 2)根據標題關鍵字搜尋影片 3)取得具體的影片資訊 4)更換封面 a.上傳新圖片作為封面 b.選擇影片截圖作為封面 c.選擇最近上傳的圖片作為封面
- 可選擇只顯示「上傳列表」或「影片列表」或顯示全部
- 可呼叫介面(response、uploadSuccess、uploadFail)回傳影片資訊
- 提供開啟、關閉插件的方法
二、瀏覽器支援
- 支援大部分主流瀏覽器,IE 瀏覽器相容 IE9 及 IE9 以上。
- 在支援 HTML5 新特性的瀏覽器中,支援斷點續傳,最大可上傳 30GB 的檔案。
- 反之,在不支援 HTML5 新特性的瀏覽器中(如 IE9),不支援斷點續傳功能,最大可上傳 2GB 的檔案。
三、入門教學:
1、首先在呼叫該插件的頁面上新增一個按鈕:
<input type="button" id="upload" value="上传"></input>
2、引入 POLYV 上傳插件的 js 檔案
<script src="//static.polyv.net/file/plug-in-v2/polyv-upload.min.js"></script>
3、新增腳本,初始化上傳參數並新建一個上傳實例。
var obj = {
uploadButtton: 'upload',
userid: data.userid,
ts: data.ts,
hash: data.hash,
sign: data.sign,
component: 'all',
cataid: 1499657507273,
luping: '1',
extra: {
keepsource: 1,
}
};
upload = new PolyvUpload(obj);
線上執行
4、定時更新 sign 等參數
上傳參數中的 ts、hash、sign 有一定的時間期限,需要每隔 3 分鐘更新一次參數。更新參數需要使用 update(data) 方法。
如果在上傳參數中帶有正確的 requestUrl 參數,可由插件內部自動更新 sign 等值。
5、上傳參數解釋: (更詳細的說明請查看下文的說明文件)
- uploadButtton:開啟上傳控制項按鈕的 id。
- userid:可以在「雲點播」後台 ->「設定」->「API 介面」頁面中找到您的 userid。
- ts:13 位的毫秒級時間戳。
- hash:是根據將 ts 和 writeToken 按照順序拼湊起來的字串進行 MD5 計算得到的值。
- sign:是根據將 secretkey 和 ts 按照順序拼湊起來的字串進行 MD5 計算得到的值。
- component:設為 'all' 表示上傳列表和影片列表都要顯示。
- cataid:上傳目錄 id,'1' 表示預設分類。
- luping:開啟影片課件優化處理,對於上傳錄屏類影片清晰度有所最佳化。
- keepsource:原始檔案播放(不對原始檔案進行編碼)。這裡設為 1 表示原始檔案播放。
6、取得使用者資訊的程式碼範例(PHP):
/*
说明:以下的userid、secretkey、writeToken、readToken可以在“云点播”后台->“设置”->“API接口”页面中找到。
*/
$userid = "your userid";
$secretkey = "your sercrety";
$writeToken = "your writeToken";
$readToken = "your readToken";
$ts = time() * 1000;
$hash = md5($ts . $writeToken);
$sign = md5($secretkey . $ts);
四、使用文件
1. 上傳參數 options
| 參數 | 含義 | 類型 | 是否必填 |
|---|---|---|---|
| uploadButtton | 開啟上傳插件的按鈕 id。 | String | 必填 |
| userid | 可以在「雲點播」後台 ->「設定」->「API 介面」頁面中找到您的 userid。 | String | 必填 |
| ts | 13 位的毫秒級時間戳。需要每隔 3 分鐘使用 update() 定時更新。 |
Number | 必填(如未設定 requestUrl 參數) |
| hash | 是根據將 ts 和 writeToken(可以在「雲點播」後台 ->「設定」->「API 介面」頁面中找到)按照順序拼湊起來的字串進行 MD5 計算得到的值。需要每隔 3 分鐘使用 update() 定時更新。MD5 的時候不需要轉大寫 |
String | 必填(如未設定 requestUrl 參數) |
| sign | 是根據將 secretkey(可以在「雲點播」後台 ->「設定」->「API 介面」頁面中找到)和 ts 按照順序拼湊起來的字串進行 MD5 計算得到的值。需要每隔 3 分鐘使用 update() 定時更新。MD5 的時候不需要轉大寫 |
String | 必填(如未設定 requestUrl 參數) |
| requestUrl | 插件內定時更新 sign 資訊的請求位址。 | String | 必填(如未設定 ts、hash、sign 參數) |
| component | 需要顯示的元件內容。'videoList'(只顯示影片列表)或 'uploadList'(只顯示上傳列表)或 'all'(顯示上傳列表和影片列表)。 | String | 選填,預設值 'all' |
| cataid | 上傳目錄 id,不填時表示預設分類。 | String | 選填,預設值 '1' |
| luping | 開啟影片課件優化處理,對於上傳錄屏類影片清晰度有所最佳化。 '0'(不開啟) 或 '1'(開啟)。 | String | 選填,預設值 '0' |
| defaultTagPlaceholder | 自訂標籤輸入框佔位符。 | String | 選填 |
| defaultDescPlaceholder | 自訂影片描述輸入框佔位符。 | String | 選填 |
| fileLimit | 以位元組為單位。可上傳單個影片的大小,預設不限制。 | Number | 選填 |
| fileLimitTips | 超出大小限制時的提示語,預設提示「該影片檔案過大,請重新選擇」。 | String | 選填 |
| fileNumberLimit | 最大單次可上傳檔案數,預設不限制。 | Number | 選填 |
| fileNumberLimitTips | 超出最大單次可上傳檔案數限制時的提示語,預設提示「每次上傳的檔案個數不能超過 ${fileNumberLimit} 個」。 | String | 選填 |
| fileTypeLimit | 檔案類型限制。填寫檔案的副檔名,多個副檔名用英文逗號隔開,例如 "avi,mp4"。支援的副檔名有 avi、mpg、mp4、flv、wmv、mov、3gp、mkv、mp3、wav、m4v、webm。 | String | 選填,預設為常見的音影片類型。 |
| batchFileSizeLimit | 單次選擇多個檔案上傳時,檔案總大小的限制,單位位元組 | Number | 選填 |
| batchFileSizeLimitTips | 超出大小限制時的提示語 | String | 選填,預設提示:」待上傳的檔案總大小超過限制,請重新選擇「 |
| width | 以 px 為單位。彈框的寬,可選範圍 >=900。 | Number | 選填,預設值 1000 |
| height | 以 px 為單位。彈框的高,範圍 >=500。 | Number | 選填,預設值 600 |
| config | 上傳設定。(可設定內容包括以下 2 個) | Object | 選填 |
| config.parallel | 分片上傳的並發數。 | Number | 選填,預設值 5 |
| config.useCDNDomain | 是否使用 CDN 域名上傳檔案。 | Boolean | 選填,預設值 false |
| region | 設定上傳地域 | String | 選填,預設 'line1' |
| extra | (可設定內容包括以下 1 個) | Object | 選填 |
| extra.keepsource | 是否原始檔案播放(不對原始檔案進行編碼)。可設定為 0(對原始檔案進行編碼)或 1(原始檔案播放)。 |
Number | 選填,預設值 0 |
| extra.state | 使用者自訂資訊,如果提交了該欄位,會在服務端上傳完成回調時透傳回傳。 | String | 選填,預設值 0 |
| hiddenControlWidget | 需要隱藏的控制項的控制參數,不傳則預設顯示所有控制項。(可設定內容包括以下 3 個) | Object | 選填 |
| hiddenControlWidget.cateSelector | 是否隱藏分類選擇。當該控制項隱藏後,上傳的目錄取 cataid 參數值。 | Boolean | 選填,預設值 false |
| hiddenControlWidget.videoTagInput | 是否隱藏標籤輸入框。 | Boolean | 選填,預設值 false |
| hiddenControlWidget.coursewareRefine | 是否隱藏課件最佳化選項。當該控制項隱藏後,取 luping 參數值。 | Boolean | 選填,預設值 false |
| uploadSuccess | 當前檔案上傳完畢時觸發的回調函數。回調參數為 fileData。 | Function | 選填 |
| uploadFail | 當前檔案上傳失敗時觸發的回調函數。回調參數為 err。 | Function | 選填 |
| response | 回傳指定影片的資訊時的回調函數。 | Function | 選填 |
2. 方法
1. update(data)
用於更新 ts、hash、sign 3 個資訊。
2. closeWrap()
關閉插件。
3. openWrap()
開啟插件。
4. destroy()
銷毀實例。
5. setParams(Object|String[,value])
更新可選設定參數。
setParams 參數說明:
- 當第一個參數為 Object 類型,此時可同時更新多個插件參數。如:
upload.setParams({
cataid: 233333,
luping: 1,
defaultTagPlaceholder: '标签文字说明'
});
- 當第一個參數為 String 類型,此時只更新單個插件參數。即第一個參數為要更新的插件參數的名稱,此時後面 value 為必傳,值為要更新的插件參數的值。如:
upload.setParams('cataid', 233333);
setParams 可更新參數範圍: component、luping、defaultTagPlaceholder、defaultDescPlaceholder、fileLimit、fileLimitTips、 fileNumberLimit、fileNumberLimitTips、width、height、extra
五、demo 下載
demo 下載:POLYV Web 上傳插件原始碼
六、版本更新
v2.1.0
- 增加上傳檔案類型檢查
- 增加參數支援修改上傳地域
- 增加參數支援單次批量上傳檔案總大小限制
