インストール
次の 2 つの JavaScript のスクリプトをページに導入します。
<script src="aliyun-sdk.min.js"></script>
<script src="vod-sdk-upload-1.0.6.min.js"></script>
初期設定: VODUpload インスタンスを作成します。
コールバック関数を設定します。
var uploader = new VODUpload({
// Starts upload
'onUploadstarted': function (uploadInfo) {
log("onUploadStarted:" + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object);
}
//File upload succeeds
'onUploadSucceed': function (uploadInfo) {
log("onUploadSucceed: " + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object);
},
//File upload fails
'onUploadFailed': function (uploadInfo, code, message) {
log("onUploadFailed: file:" + uploadInfo.file.name + ",code:" + code + ", message:" + message);
},
// The file upload progress, in bytes
'onUploadProgress': function (uploadInfo, totalSize, uploadedSize) {
log("onUploadProgress:file:" + uploadInfo.file.name + ", fileSize:" + totalSize + ", percent:" + Math.ceil(uploadedSize * 100 / totalSize) + "%");
},
// Token expires
'onUploadTokenExpired': function () {
console.log("onUploadTokenExpired");
// uploader.resumeUploadWithToken(accessKeyId, accessKeySecret, secretToken, expireTime);
}
});
リストの管理
- アップロードするファイルの追加
注 ファイルサイズは 10 GB までアップロードできます。標準入力モードでファイルを選択します。
<form action=""> <input type="file" name="file" id="files" multiple/> </form> userData = ''; document.getElementById("files") .addEventListener('change', function (event) { for(var i=0; i<event.target.files.length; i++) { // The logic code } });
選択したファイルを取得し、アップロードリストに追加します。uploader.addFile(event.target.files[i], endpoint, bucket, object, userData);
注- event.target.files[i]: file list that user select,
- endpoint: endpoint of OSS,
- bucket: bucket of OSS,
- object: object of OSS,
- userData: the last parameter of addFile, a json object.
アップロード中、次の方法でメディアセットの属性 (タイトル、タグ、説明、カテゴリ、およびカスタマイズデータ) を取得します。addFile 関数の最後のパラメーター userData は JSON 形式のオブジェクトです。 第 1 レベルの VOD が必要であり、VOD には 5 つの属性があります。 例は次の通りです。var userData = '{"Vod":{"Title":"I am the title", "Description":"I am the description", "Cateoid": "1 ", "Tags":"tag1,tag2,tag3", "UserData":"user data"}}';
- アップロードしたファイルを削除します。
index
は、listFiles によって返されるリスト内の要素のインデックスに対応しています。uploader.deleteFile(index);
- 1 つのファイルのアップロードのキャンセル
uploader.cancelFile(index);
- 1 つのファイルのアップロードの再開
uploader.resumeFile(index);
- アップロードファイルリストの取得
uploader.listFiles(); var list = uploader.listFiles(); for (var i=0; i<list.length; i++) { log("file:" + list[i].file.name + ", status:" + list[i].state + ", endpoint:" + list[i].endpoint + ", bucket:" + list[i].bucket + ", object:" + list[i].object); }
- アップロードファイルリストの消去
uploader.cleanList();
アップロードの制御
- アップロードの開始
uploader.startUpload();
- アップロードの停止
uploader.stopUpload();
- アップロード認証情報が無効になった後、アップロードを再開します。
uploader.resumeUploadWithToken(accessKeyId, accessKeySecret, secretToken, expireTime);